home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 July / Macworld (1999-07).dmg / Shareware World / Info / For Developers / Mops 3.4.sea / Mops source / System source / floating point < prev    next >
MacBinary  |  1995-02-06  |  37.3 KB  |  [TEXT/MSET]

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: MacBinary (archive/macBinary).

You can browse this item here: floating point

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Mon Feb 6 14:18:53 1995, modified Mon Feb 6 14:18:53 1995, creator 'MSET', type ASCII, 37554 bytes "floating point" , at 0x9332 381 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MSET]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0e 66 6c 6f 61 74 69 | 6e 67 20 70 6f 69 6e 74 |..floati|ng point|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 53 45 | 54 01 00 00 00 00 00 00 |.TEXTMSE|T.......|
|00000050| 00 00 00 00 00 92 b2 00 | 00 01 7d ab 5c 26 9d ab |........|..}.\&..|
|00000060| 5c 26 9d 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |\&......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 85 f7 00 00 |........|........|
|00000080| 5c 20 20 41 75 67 20 39 | 30 20 20 6d 72 68 20 20 |\ Aug 9|0 mrh |
|00000090| 4d 6f 70 73 20 76 65 72 | 73 69 6f 6e 2e 0d 5c 20 |Mops ver|sion..\ |
|000000a0| 20 44 65 63 20 39 30 20 | 20 6d 72 68 20 20 44 69 | Dec 90 | mrh Di|
|000000b0| 72 65 63 74 20 46 50 55 | 20 73 75 70 70 6f 72 74 |rect FPU| support|
|000000c0| 20 61 64 64 65 64 20 2d | 20 66 6c 6f 61 74 20 6e | added -| float n|
|000000d0| 6f 77 20 31 34 20 62 79 | 74 65 73 20 6c 6f 6e 67 |ow 14 by|tes long|
|000000e0| 2e 0d 5c 20 20 41 70 72 | 20 39 31 20 20 6d 72 68 |..\ Apr| 91 mrh|
|000000f0| 09 4d 6f 72 65 20 6f 70 | 74 69 6d 69 7a 61 74 69 |.More op|timizati|
|00000100| 6f 6e 20 6f 66 20 46 50 | 55 20 63 6f 64 65 2e 20 |on of FP|U code. |
|00000110| 20 46 50 20 73 6f 75 72 | 63 65 20 66 69 6c 65 73 | FP sour|ce files|
|00000120| 20 63 6f 6d 62 69 6e 65 | 64 2e 0d 5c 09 09 4e 75 | combine|d..\..Nu|
|00000130| 6d 62 65 72 20 6f 66 20 | 70 61 72 6d 73 2f 6c 6f |mber of |parms/lo|
|00000140| 63 61 6c 73 20 69 6e 63 | 72 65 61 73 65 64 20 76 |cals inc|reased v|
|00000150| 69 61 20 45 78 74 72 61 | 4c 6f 63 61 6c 73 20 61 |ia Extra|Locals a|
|00000160| 72 65 61 2e 0d 0d 5c 20 | 54 68 65 20 66 6c 6f 61 |rea...\ |The floa|
|00000170| 74 69 6e 67 20 68 65 61 | 70 20 69 73 20 61 20 72 |ting hea|p is a r|
|00000180| 65 67 69 6f 6e 20 6f 66 | 20 68 65 61 70 20 74 68 |egion of| heap th|
|00000190| 61 74 20 69 73 20 64 69 | 76 69 64 65 64 20 69 6e |at is di|vided in|
|000001a0| 74 6f 20 31 34 2d 62 79 | 74 65 20 62 6c 6f 63 6b |to 14-by|te block|
|000001b0| 73 2e 0d 5c 20 45 61 63 | 68 20 62 6c 6f 63 6b 20 |s..\ Eac|h block |
|000001c0| 63 6f 6e 73 69 73 74 73 | 20 6f 66 20 74 77 6f 20 |consists| of two |
|000001d0| 62 79 74 65 73 20 6f 66 | 20 73 74 61 74 75 73 20 |bytes of| status |
|000001e0| 69 6e 66 6f 72 6d 61 74 | 69 6f 6e 2c 20 61 6c 6f |informat|ion, alo|
|000001f0| 6e 67 20 77 69 74 68 20 | 31 32 0d 5c 20 62 79 74 |ng with |12.\ byt|
|00000200| 65 73 20 6f 66 20 64 61 | 74 61 2e 20 20 49 66 20 |es of da|ta. If |
|00000210| 74 68 65 20 73 74 61 74 | 75 73 20 66 69 65 6c 64 |the stat|us field|
|00000220| 20 69 73 20 24 30 30 30 | 31 2c 20 74 68 65 20 62 | is $000|1, the b|
|00000230| 6c 6f 63 6b 20 69 73 20 | 69 6e 20 75 73 65 2e 0d |lock is |in use..|
|00000240| 5c 20 4f 74 68 65 72 77 | 69 73 65 2c 20 74 68 65 |\ Otherw|ise, the|
|00000250| 20 73 74 61 74 75 73 20 | 66 69 65 6c 64 20 68 6f | status |field ho|
|00000260| 6c 64 73 20 74 68 65 20 | 6f 66 66 73 65 74 20 6f |lds the |offset o|
|00000270| 66 20 74 68 65 20 6e 65 | 78 74 20 66 72 65 65 20 |f the ne|xt free |
|00000280| 62 6c 6f 63 6b 20 66 72 | 6f 6d 0d 5c 20 74 68 65 |block fr|om.\ the|
|00000290| 20 73 74 61 72 74 20 6f | 66 20 74 68 65 20 61 72 | start o|f the ar|
|000002a0| 72 61 79 2c 20 61 6e 64 | 20 62 69 74 20 30 20 69 |ray, and| bit 0 i|
|000002b0| 73 20 6f 66 66 20 62 65 | 63 61 75 73 65 20 74 68 |s off be|cause th|
|000002c0| 65 20 6f 66 66 73 65 74 | 20 6d 75 73 74 20 62 65 |e offset| must be|
|000002d0| 20 65 76 65 6e 2e 0d 5c | 20 54 68 65 20 64 61 74 | even..\| The dat|
|000002e0| 61 20 66 69 65 6c 64 20 | 69 73 20 61 20 39 36 2d |a field |is a 96-|
|000002f0| 62 69 74 20 66 6c 6f 61 | 74 69 6e 67 20 70 6f 69 |bit floa|ting poi|
|00000300| 6e 74 20 6e 75 6d 62 65 | 72 20 69 6e 20 36 38 38 |nt numbe|r in 688|
|00000310| 38 31 2f 36 38 38 38 32 | 20 46 50 55 0d 5c 20 65 |81/68882| FPU.\ e|
|00000320| 78 74 65 6e 64 65 64 20 | 66 6f 72 6d 61 74 2e 20 |xtended |format. |
|00000330| 20 54 68 69 73 20 69 73 | 20 62 61 73 69 63 61 6c | This is| basical|
|00000340| 6c 79 20 74 68 65 20 73 | 61 6d 65 20 61 73 20 74 |ly the s|ame as t|
|00000350| 68 65 20 53 41 4e 45 20 | 38 30 2d 62 69 74 0d 5c |he SANE |80-bit.\|
|00000360| 20 65 78 74 65 6e 64 65 | 64 20 66 6f 72 6d 61 74 | extende|d format|
|00000370| 2c 20 73 69 6e 63 65 20 | 74 68 65 20 33 72 64 20 |, since |the 3rd |
|00000380| 61 6e 64 20 34 74 68 20 | 62 79 74 65 73 20 61 72 |and 4th |bytes ar|
|00000390| 65 20 75 6e 75 73 65 64 | 20 28 7a 65 72 6f 29 2c |e unused| (zero),|
|000003a0| 20 61 6e 64 0d 5c 20 74 | 68 65 20 53 41 4e 45 20 | and.\ t|he SANE |
|000003b0| 66 6f 72 6d 61 74 20 69 | 73 20 69 64 65 6e 74 69 |format i|s identi|
|000003c0| 63 61 6c 20 65 78 63 65 | 70 74 20 74 68 61 74 20 |cal exce|pt that |
|000003d0| 74 68 65 73 65 20 75 6e | 75 73 65 64 20 32 20 62 |these un|used 2 b|
|000003e0| 79 74 65 73 20 61 72 65 | 20 6e 6f 74 0d 5c 20 72 |ytes are| not.\ r|
|000003f0| 65 70 72 65 73 65 6e 74 | 65 64 2e 20 20 49 66 20 |epresent|ed. If |
|00000400| 77 65 20 64 6f 6e 27 74 | 20 68 61 76 65 20 61 6e |we don't| have an|
|00000410| 20 46 50 55 20 77 65 20 | 63 61 6c 6c 20 53 41 4e | FPU we |call SAN|
|00000420| 45 2c 20 61 6e 64 20 74 | 68 69 73 20 6d 65 61 6e |E, and t|his mean|
|00000430| 73 20 77 65 0d 5c 20 68 | 61 76 65 20 74 6f 20 61 |s we.\ h|ave to a|
|00000440| 64 6a 75 73 74 20 74 68 | 65 20 66 6f 72 6d 61 74 |djust th|e format|
|00000450| 20 66 69 72 73 74 2e 0d | 0d 66 61 6c 73 65 20 2d | first..|.false -|
|00000460| 3e 20 75 73 65 46 50 55 | 3f 0d 0d 5c 20 66 6c 6f |> useFPU|?..\ flo|
|00000470| 61 74 69 6e 67 2d 70 6f | 69 6e 74 20 65 72 72 6f |ating-po|int erro|
|00000480| 72 20 68 61 6e 64 6c 65 | 72 73 0d 0d 3a 20 4e 4f |r handle|rs..: NO|
|00000490| 54 49 4e 49 54 09 63 72 | 20 2e 22 20 55 6e 69 6e |TINIT.cr| ." Unin|
|000004a0| 69 74 69 61 6c 69 7a 65 | 64 20 66 6c 6f 61 74 20 |itialize|d float |
|000004b0| 61 72 67 75 6d 65 6e 74 | 22 20 20 61 62 6f 72 74 |argument|" abort|
|000004c0| 20 3b 0d 3a 20 46 75 6c | 6c 45 72 72 09 63 72 20 | ;.: Ful|lErr.cr |
|000004d0| 2e 22 20 46 6c 6f 61 74 | 69 6e 67 20 70 6f 69 6e |." Float|ing poin|
|000004e0| 74 20 68 65 61 70 20 69 | 73 20 66 75 6c 6c 22 20 |t heap i|s full" |
|000004f0| 20 61 62 6f 72 74 20 20 | 3b 0d 3a 20 4e 46 09 09 | abort |;.: NF..|
|00000500| 63 72 20 2e 22 20 4e 6f | 74 20 61 20 66 6c 6f 61 |cr ." No|t a floa|
|00000510| 74 3a 20 22 20 20 2e 20 | 20 61 62 6f 72 74 20 20 |t: " . | abort |
|00000520| 3b 0d 0d 0d 3a 63 6f 64 | 65 20 4e 6f 46 6c 6f 61 |;...:cod|e NoFloa|
|00000530| 74 09 09 5c 20 41 73 73 | 75 6d 65 20 41 30 20 2d |t..\ Ass|ume A0 -|
|00000540| 3e 20 66 6c 6f 61 74 20 | 74 68 61 74 20 69 73 6e |> float |that isn|
|00000550| 27 74 0d 09 09 70 75 73 | 68 2e 6c 09 61 30 0d 09 |'t...pus|h.l.a0..|
|00000560| 09 62 72 61 2e 73 09 64 | 69 63 5b 4e 46 5d 0d 3b |.bra.s.d|ic[NF].;|
|00000570| 63 6f 64 65 0d 0d 0d 3a | 63 6c 61 73 73 20 20 46 |code...:|class F|
|00000580| 4c 54 48 45 41 50 20 20 | 73 75 70 65 72 7b 20 6f |LTHEAP |super{ o|
|00000590| 62 6a 65 63 74 20 7d 20 | 20 31 34 20 69 6e 64 65 |bject } | 14 inde|
|000005a0| 78 65 64 0d 0d 72 65 63 | 6f 72 64 0d 7b 09 69 6e |xed..rec|ord.{.in|
|000005b0| 74 09 46 72 65 65 48 65 | 61 64 09 09 5c 20 6f 66 |t.FreeHe|ad..\ of|
|000005c0| 66 73 65 74 20 6f 66 20 | 66 69 72 73 74 20 66 72 |fset of |first fr|
|000005d0| 65 65 20 62 6c 6f 63 6b | 20 0d 7d 0d 0d 3a 6d 63 |ee block| .}..:mc|
|000005e0| 6f 64 65 20 4e 45 57 3a | 09 09 5c 20 28 20 2d 2d |ode NEW:|..\ ( --|
|000005f0| 20 66 50 74 72 20 29 0d | 0d 5c 20 52 65 74 75 72 | fPtr ).|.\ Retur|
|00000600| 6e 73 20 61 20 70 74 72 | 20 74 6f 20 61 20 6e 65 |ns a ptr| to a ne|
|00000610| 77 20 62 6c 6f 63 6b 2e | 20 20 49 6e 74 65 72 65 |w block.| Intere|
|00000620| 73 74 69 6e 67 6c 79 2c | 0d 5c 20 74 68 65 20 4d |stingly,|.\ the M|
|00000630| 6f 70 73 20 72 65 67 69 | 73 74 65 72 20 75 73 61 |ops regi|ster usa|
|00000640| 67 65 20 6d 65 61 6e 73 | 20 74 68 61 74 20 74 68 |ge means| that th|
|00000650| 69 73 20 72 6f 75 74 69 | 6e 65 20 69 73 20 6f 6e |is routi|ne is on|
|00000660| 6c 79 0d 5c 20 68 61 6c | 66 20 61 73 20 6c 6f 6e |ly.\ hal|f as lon|
|00000670| 67 20 61 73 20 69 74 20 | 77 61 73 20 69 6e 20 4e |g as it |was in N|
|00000680| 65 6f 6e 2e 20 20 4e 6f | 74 65 20 74 68 61 74 20 |eon. No|te that |
|00000690| 75 6e 6c 69 6b 65 20 4e | 65 6f 6e 2c 0d 5c 20 66 |unlike N|eon,.\ f|
|000006a0| 50 74 72 20 70 6f 69 6e | 74 73 20 74 6f 20 74 68 |Ptr poin|ts to th|
|000006b0| 65 20 66 6c 6f 61 74 69 | 6e 67 20 64 61 74 61 2c |e floati|ng data,|
|000006c0| 20 6e 6f 74 20 74 6f 20 | 74 68 65 20 73 74 61 74 | not to |the stat|
|000006d0| 75 73 20 77 6f 72 64 2e | 0d 0d 09 09 6c 6f 63 0d |us word.|....loc.|
|000006e0| 09 09 6d 6f 76 65 2e 77 | 09 28 61 32 29 2c 64 30 |..move.w|.(a2),d0|
|000006f0| 09 09 09 3b 20 44 30 28 | 6c 6f 29 20 3d 20 6f 66 |...; D0(|lo) = of|
|00000700| 66 73 65 74 20 6f 66 20 | 66 69 72 73 74 20 66 72 |fset of |first fr|
|00000710| 65 65 20 62 6c 6f 63 6b | 0d 09 09 62 65 71 09 09 |ee block|...beq..|
|00000720| 64 69 63 5b 66 75 6c 6c | 45 72 72 5d 0d 09 09 6c |dic[full|Err]...l|
|00000730| 65 61 09 09 30 28 61 32 | 2c 64 30 2e 77 29 2c 61 |ea..0(a2|,d0.w),a|
|00000740| 30 09 3b 20 41 30 20 2d | 3e 20 74 68 65 20 62 6c |0.; A0 -|> the bl|
|00000750| 6f 63 6b 0d 09 09 6d 6f | 76 65 2e 77 20 20 28 61 |ock...mo|ve.w (a|
|00000760| 30 29 2c 28 61 32 29 09 | 09 3b 20 4d 6f 76 65 20 |0),(a2).|.; Move |
|00000770| 6e 65 78 74 20 66 72 65 | 65 20 62 6c 6f 63 6b 20 |next fre|e block |
|00000780| 0d 09 09 09 09 09 09 09 | 09 3b 20 20 6f 66 66 73 |........|.; offs|
|00000790| 20 74 6f 20 66 72 65 65 | 20 6c 69 73 74 20 68 64 | to free| list hd|
|000007a0| 72 0d 09 09 6d 6f 76 65 | 2e 77 09 23 31 2c 28 61 |r...move|.w.#1,(a|
|000007b0| 30 29 2b 09 09 3b 20 4d | 61 72 6b 20 62 6c 6f 63 |0)+..; M|ark bloc|
|000007c0| 6b 20 69 6e 20 75 73 65 | 0d 09 09 70 75 73 68 2e |k in use|...push.|
|000007d0| 6c 09 61 30 09 09 09 09 | 3b 20 52 65 74 75 72 6e |l.a0....|; Return|
|000007e0| 20 64 61 74 61 20 61 64 | 64 72 0d 3b 6d 63 6f 64 | data ad|dr.;mcod|
|000007f0| 65 0d 0d 0d 3a 6d 63 6f | 64 65 20 52 45 4c 45 41 |e...:mco|de RELEA|
|00000800| 53 45 3a 09 09 5c 20 28 | 20 66 70 74 72 20 2d 2d |SE:..\ (| fptr --|
|00000810| 20 29 20 20 44 69 73 70 | 6f 73 65 73 20 6f 66 20 | ) Disp|oses of |
|00000820| 62 6c 6f 63 6b 20 66 6f | 72 20 66 70 74 72 0d 09 |block fo|r fptr..|
|00000830| 09 70 6f 70 2e 6c 09 61 | 30 09 09 09 09 3b 20 41 |.pop.l.a|0....; A|
|00000840| 30 20 2d 3e 20 66 6c 6f | 61 74 20 64 61 74 61 0d |0 -> flo|at data.|
|00000850| 09 09 63 6d 70 69 2e 77 | 09 23 31 2c 2d 28 61 30 |..cmpi.w|.#1,-(a0|
|00000860| 29 09 09 3b 20 46 6c 6f | 61 74 20 62 6c 6f 63 6b |)..; Flo|at block|
|00000870| 20 6d 75 73 74 20 68 61 | 76 65 20 24 30 30 30 31 | must ha|ve $0001|
|00000880| 20 69 6e 20 0d 09 09 09 | 09 09 09 09 09 3b 20 20 | in ....|.....; |
|00000890| 69 74 73 20 73 74 61 74 | 75 73 20 66 69 65 6c 64 |its stat|us field|
|000008a0| 0d 09 09 62 6e 65 09 09 | 64 69 63 5b 6e 6f 46 6c |...bne..|dic[noFl|
|000008b0| 6f 61 74 5d 0d 09 09 6d | 6f 76 65 2e 77 20 20 28 |oat]...m|ove.w (|
|000008c0| 61 32 29 2c 28 61 30 29 | 09 09 3b 20 4d 6f 76 65 |a2),(a0)|..; Move|
|000008d0| 20 66 72 65 65 20 6c 69 | 73 74 20 68 64 72 20 74 | free li|st hdr t|
|000008e0| 6f 20 62 6c 6b 0d 09 09 | 09 09 09 09 09 09 3b 20 |o blk...|......; |
|000008f0| 20 62 65 69 6e 67 20 66 | 72 65 65 64 0d 09 09 73 | being f|reed...s|
|00000900| 75 62 2e 6c 09 61 32 2c | 61 30 09 09 09 3b 20 47 |ub.l.a2,|a0...; G|
|00000910| 65 74 20 6f 66 66 73 20 | 6f 66 20 62 6c 6f 63 6b |et offs |of block|
|00000920| 0d 09 09 6d 6f 76 65 2e | 77 20 20 61 30 2c 28 61 |...move.|w a0,(a|
|00000930| 32 29 09 09 09 3b 20 53 | 74 6f 72 65 20 69 6e 20 |2)...; S|tore in |
|00000940| 66 72 65 65 20 68 65 61 | 64 20 70 74 72 20 20 20 |free hea|d ptr |
|00000950| 20 20 20 20 20 0d 3b 6d | 63 6f 64 65 0d 0d 0d 3a | .;m|code...:|
|00000960| 6d 20 52 4f 4f 4d 3a 20 | 7b 20 5c 20 6f 66 66 73 |m ROOM: |{ \ offs|
|00000970| 20 23 66 72 65 65 20 2d | 2d 20 23 66 72 65 65 20 | #free -|- #free |
|00000980| 7d 09 5c 20 20 52 65 74 | 75 72 6e 73 20 23 20 6f |}.\ Ret|urns # o|
|00000990| 66 20 66 6c 6f 61 74 20 | 62 6c 6f 63 6b 73 20 72 |f float |blocks r|
|000009a0| 65 6d 61 69 6e 69 6e 67 | 0d 09 09 09 09 09 09 09 |emaining|........|
|000009b0| 09 09 5c 20 69 6e 20 66 | 6c 6f 61 74 20 68 65 61 |..\ in f|loat hea|
|000009c0| 70 0d 09 67 65 74 3a 20 | 66 72 65 65 48 65 61 64 |p..get: |freeHead|
|000009d0| 20 20 2d 3e 20 6f 66 66 | 73 20 20 30 20 2d 3e 20 | -> off|s 0 -> |
|000009e0| 23 66 72 65 65 0d 09 42 | 45 47 49 4e 09 6f 66 66 |#free..B|EGIN.off|
|000009f0| 73 0d 09 57 48 49 4c 45 | 09 6f 66 66 73 20 5e 62 |s..WHILE|.offs ^b|
|00000a00| 61 73 65 20 2b 20 77 40 | 20 20 2d 3e 20 6f 66 66 |ase + w@| -> off|
|00000a10| 73 20 20 31 20 2b 2b 3e | 20 23 66 72 65 65 20 0d |s 1 ++>| #free .|
|00000a20| 09 52 45 50 45 41 54 0d | 09 23 66 72 65 65 20 20 |.REPEAT.|.#free |
|00000a30| 3b 6d 0d 0d 3a 6d 20 43 | 4c 41 53 53 49 4e 49 54 |;m..:m C|LASSINIT|
|00000a40| 3a 09 09 5c 20 53 65 74 | 73 20 61 6c 6c 20 62 6c |:..\ Set|s all bl|
|00000a50| 6f 63 6b 73 20 74 6f 20 | 66 72 65 65 20 61 6e 64 |ocks to |free and|
|00000a60| 20 6c 69 6e 6b 73 20 74 | 68 65 6d 20 74 6f 67 65 | links t|hem toge|
|00000a70| 74 68 65 72 2e 0d 09 6c | 69 6d 69 74 20 31 2d 20 |ther...l|imit 1- |
|00000a80| 30 20 0d 09 44 4f 0d 09 | 09 69 20 31 2b 20 5e 65 |0 ..DO..|.i 1+ ^e|
|00000a90| 6c 65 6d 20 20 5e 62 61 | 73 65 20 2d 20 20 20 69 |lem ^ba|se - i|
|00000aa0| 20 5e 65 6c 65 6d 20 20 | 77 21 0d 09 4c 4f 4f 50 | ^elem |w!..LOOP|
|00000ab0| 0d 09 30 20 6c 69 6d 69 | 74 20 31 2d 20 20 5e 65 |..0 limi|t 1- ^e|
|00000ac0| 6c 65 6d 20 20 77 21 0d | 09 30 20 5e 65 6c 65 6d |lem w!.|.0 ^elem|
|00000ad0| 20 20 5e 62 61 73 65 20 | 2d 20 20 70 75 74 3a 20 | ^base |- put: |
|00000ae0| 66 72 65 65 48 65 61 64 | 20 20 3b 6d 0d 0d 3a 6d |freeHead| ;m..:m|
|00000af0| 20 49 4e 49 54 3a 09 63 | 6c 61 73 73 69 6e 69 74 | INIT:.c|lassinit|
|00000b00| 3a 20 73 65 6c 66 20 20 | 3b 6d 0d 0d 3b 63 6c 61 |: self |;m..;cla|
|00000b10| 73 73 0d 0d 0d 20 31 30 | 30 09 66 6c 74 48 65 61 |ss... 10|0.fltHea|
|00000b20| 70 20 20 46 4c 54 4d 45 | 4d 0d 0d 0d 5c 20 28 46 |p FLTME|M...\ (F|
|00000b30| 4c 54 4e 45 57 29 20 69 | 73 20 61 20 73 75 62 72 |LTNEW) i|s a subr|
|00000b40| 6f 75 74 69 6e 65 20 77 | 68 69 63 68 20 72 65 74 |outine w|hich ret|
|00000b50| 75 72 6e 73 20 61 20 6e | 65 77 20 66 6c 6f 61 74 |urns a n|ew float|
|00000b60| 20 70 74 72 20 69 6e 20 | 41 30 2e 0d 5c 20 55 73 | ptr in |A0..\ Us|
|00000b70| 65 73 20 44 30 2e 0d 0d | 3a 63 6f 64 65 20 28 46 |es D0...|:code (F|
|00000b80| 4c 54 4e 45 57 29 0d 09 | 09 6c 6f 63 0d 09 09 6c |LTNEW)..|.loc...l|
|00000b90| 65 61 09 09 64 69 63 6f | 62 6a 5b 66 6c 74 4d 65 |ea..dico|bj[fltMe|
|00000ba0| 6d 5d 2c 61 30 0d 09 09 | 6d 6f 76 65 2e 77 09 28 |m],a0...|move.w.(|
|00000bb0| 61 30 29 2c 64 30 09 09 | 09 09 3b 20 44 30 28 6c |a0),d0..|..; D0(l|
|00000bc0| 6f 29 20 3d 20 6f 66 66 | 73 65 74 20 6f 66 20 66 |o) = off|set of f|
|00000bd0| 69 72 73 74 20 66 72 65 | 65 20 0d 09 09 09 09 09 |irst fre|e ......|
|00000be0| 09 09 09 09 3b 20 20 62 | 6c 6f 63 6b 0d 09 09 62 |....; b|lock...b|
|00000bf0| 65 71 09 64 69 63 5b 66 | 75 6c 6c 45 72 72 5d 0d |eq.dic[f|ullErr].|
|00000c00| 09 09 61 64 64 2e 77 09 | 64 30 2c 61 30 09 09 09 |..add.w.|d0,a0...|
|00000c10| 09 3b 20 41 30 20 2d 3e | 20 74 68 65 20 62 6c 6f |.; A0 ->| the blo|
|00000c20| 63 6b 0d 09 09 6d 6f 76 | 65 2e 77 20 20 28 61 30 |ck...mov|e.w (a0|
|00000c30| 29 2c 64 69 63 6f 62 6a | 5b 66 6c 74 4d 65 6d 5d |),dicobj|[fltMem]|
|00000c40| 09 3b 20 4d 6f 76 65 20 | 6e 65 78 74 20 66 72 65 |.; Move |next fre|
|00000c50| 65 20 62 6c 6f 63 6b 20 | 6f 66 66 73 20 74 6f 20 |e block |offs to |
|00000c60| 0d 09 09 09 09 09 09 09 | 09 09 3b 20 20 66 72 65 |........|..; fre|
|00000c70| 65 20 6c 69 73 74 20 68 | 64 72 0d 09 09 6d 6f 76 |e list h|dr...mov|
|00000c80| 65 2e 77 09 23 31 2c 28 | 61 30 29 2b 09 09 09 3b |e.w.#1,(|a0)+...;|
|00000c90| 20 4d 61 72 6b 20 62 6c | 6f 63 6b 20 69 6e 20 75 | Mark bl|ock in u|
|00000ca0| 73 65 2c 20 75 70 64 61 | 74 65 20 41 30 20 74 6f |se, upda|te A0 to|
|00000cb0| 20 0d 09 09 09 09 09 09 | 09 09 09 3b 20 20 66 6c | .......|...; fl|
|00000cc0| 6f 61 74 20 64 61 74 61 | 20 61 64 64 72 0d 3b 63 |oat data| addr.;c|
|00000cd0| 6f 64 65 0d 0d 0d 5c 20 | 28 46 4c 54 44 49 53 50 |ode...\ |(FLTDISP|
|00000ce0| 29 20 69 73 20 61 20 73 | 75 62 72 6f 75 74 69 6e |) is a s|ubroutin|
|00000cf0| 65 20 74 6f 20 64 69 73 | 70 6f 73 65 20 6f 66 20 |e to dis|pose of |
|00000d00| 74 68 65 20 66 6c 6f 61 | 74 20 69 6e 20 41 30 2e |the floa|t in A0.|
|00000d10| 20 20 55 73 65 73 20 41 | 30 2e 0d 0d 3a 63 6f 64 | Uses A|0...:cod|
|00000d20| 65 20 28 46 4c 54 44 49 | 53 50 29 0d 09 09 70 75 |e (FLTDI|SP)...pu|
|00000d30| 73 68 2e 6c 09 61 31 09 | 09 09 09 09 3b 20 53 61 |sh.l.a1.|....; Sa|
|00000d40| 76 65 20 61 31 0d 09 09 | 63 6d 70 69 2e 77 09 23 |ve a1...|cmpi.w.#|
|00000d50| 31 2c 2d 28 61 30 29 09 | 09 09 3b 20 46 6c 6f 61 |1,-(a0).|..; Floa|
|00000d60| 74 20 62 6c 6f 63 6b 20 | 6d 75 73 74 20 68 61 76 |t block |must hav|
|00000d70| 65 20 24 30 30 30 31 20 | 69 6e 20 0d 09 09 09 09 |e $0001 |in .....|
|00000d80| 09 09 09 09 09 3b 20 20 | 69 74 73 20 73 74 61 74 |.....; |its stat|
|00000d90| 75 73 20 66 69 65 6c 64 | 0d 09 09 62 6e 65 09 09 |us field|...bne..|
|00000da0| 64 69 63 5b 6e 6f 46 6c | 6f 61 74 5d 0d 09 09 6c |dic[noFl|oat]...l|
|00000db0| 65 61 09 09 64 69 63 6f | 62 6a 5b 66 6c 74 4d 65 |ea..dico|bj[fltMe|
|00000dc0| 6d 5d 2c 61 31 0d 09 09 | 6d 6f 76 65 2e 77 09 28 |m],a1...|move.w.(|
|00000dd0| 61 31 29 2c 28 61 30 29 | 09 09 09 3b 20 4d 6f 76 |a1),(a0)|...; Mov|
|00000de0| 65 20 66 72 65 65 20 6c | 69 73 74 20 68 64 72 20 |e free l|ist hdr |
|00000df0| 74 6f 20 62 6c 6b 20 62 | 65 69 6e 67 20 0d 09 09 |to blk b|eing ...|
|00000e00| 09 09 09 09 09 09 09 3b | 20 20 66 72 65 65 64 0d |.......;| freed.|
|00000e10| 09 09 73 75 62 2e 6c 09 | 61 31 2c 61 30 09 09 09 |..sub.l.|a1,a0...|
|00000e20| 09 3b 20 47 65 74 20 6f | 66 66 73 65 74 20 6f 66 |.; Get o|ffset of|
|00000e30| 20 62 6c 6f 63 6b 0d 09 | 09 6d 6f 76 65 2e 77 09 | block..|.move.w.|
|00000e40| 61 30 2c 28 61 31 29 09 | 09 09 09 3b 20 53 74 6f |a0,(a1).|...; Sto|
|00000e50| 72 65 20 69 6e 20 66 72 | 65 65 20 6c 69 73 74 20 |re in fr|ee list |
|00000e60| 68 65 61 64 65 72 0d 09 | 09 70 6f 70 2e 6c 09 61 |header..|.pop.l.a|
|00000e70| 31 09 09 09 09 09 3b 20 | 52 65 73 74 6f 72 65 20 |1.....; |Restore |
|00000e80| 61 31 0d 3b 63 6f 64 65 | 0d 0d 3a 63 6f 64 65 20 |a1.;code|..:code |
|00000e90| 28 46 4c 54 44 49 53 50 | 32 29 09 5c 20 53 75 62 |(FLTDISP|2).\ Sub|
|00000ea0| 72 6f 75 74 69 6e 65 20 | 74 6f 20 64 69 73 70 6f |routine |to dispo|
|00000eb0| 73 65 20 6f 66 20 66 6c | 6f 61 74 73 20 69 6e 20 |se of fl|oats in |
|00000ec0| 41 30 2c 41 31 0d 09 09 | 09 09 09 5c 20 55 73 65 |A0,A1...|...\ Use|
|00000ed0| 73 20 41 30 2c 20 41 31 | 2c 20 44 30 2c 20 44 31 |s A0, A1|, D0, D1|
|00000ee0| 0d 09 09 6d 6f 76 65 2e | 6c 09 61 31 2c 64 31 09 |...move.|l.a1,d1.|
|00000ef0| 09 09 09 3b 20 53 61 76 | 65 0d 09 09 63 6d 70 69 |...; Sav|e...cmpi|
|00000f00| 2e 77 09 23 31 2c 2d 28 | 61 30 29 09 09 09 3b 20 |.w.#1,-(|a0)...; |
|00000f10| 46 6c 6f 61 74 20 6d 75 | 73 74 20 68 61 76 65 20 |Float mu|st have |
|00000f20| 24 30 30 30 31 20 69 6e | 20 69 74 73 20 73 74 61 |$0001 in| its sta|
|00000f30| 74 75 73 20 66 69 65 6c | 64 0d 09 09 62 6e 65 09 |tus fiel|d...bne.|
|00000f40| 09 64 69 63 5b 6e 6f 46 | 6c 6f 61 74 5d 0d 09 09 |.dic[noF|loat]...|
|00000f50| 6c 65 61 09 09 64 69 63 | 6f 62 6a 5b 66 6c 74 4d |lea..dic|obj[fltM|
|00000f60| 65 6d 5d 2c 61 31 0d 09 | 09 6d 6f 76 65 2e 77 09 |em],a1..|.move.w.|
|00000f70| 28 61 31 29 2c 28 61 30 | 29 09 09 09 3b 20 4d 6f |(a1),(a0|)...; Mo|
|00000f80| 76 65 20 66 72 65 65 20 | 6c 69 73 74 20 68 64 72 |ve free |list hdr|
|00000f90| 20 74 6f 20 62 6c 6b 20 | 62 65 69 6e 67 20 66 72 | to blk |being fr|
|00000fa0| 65 65 64 0d 09 09 73 75 | 62 2e 6c 09 61 31 2c 61 |eed...su|b.l.a1,a|
|00000fb0| 30 09 09 09 09 3b 20 47 | 65 74 20 6f 66 66 73 65 |0....; G|et offse|
|00000fc0| 74 20 6f 66 20 62 6c 6f | 63 6b 0d 09 09 6d 6f 76 |t of blo|ck...mov|
|00000fd0| 65 2e 77 09 61 30 2c 64 | 30 09 09 09 09 3b 20 53 |e.w.a0,d|0....; S|
|00000fe0| 61 76 65 20 69 6e 20 44 | 30 0d 09 09 6d 6f 76 65 |ave in D|0...move|
|00000ff0| 2e 6c 09 64 31 2c 61 30 | 09 09 09 09 3b 20 4e 6f |.l.d1,a0|....; No|
|00001000| 77 20 74 68 65 20 6f 74 | 68 65 72 20 6f 6e 65 2e |w the ot|her one.|
|00001010| 0d 09 09 63 6d 70 69 2e | 77 09 23 31 2c 2d 28 61 |...cmpi.|w.#1,-(a|
|00001020| 30 29 09 09 09 3b 20 46 | 6c 6f 61 74 20 6d 75 73 |0)...; F|loat mus|
|00001030| 74 20 68 61 76 65 20 24 | 30 30 30 31 20 69 6e 20 |t have $|0001 in |
|00001040| 69 74 73 20 0d 09 09 09 | 09 09 09 09 09 09 3b 20 |its ....|......; |
|00001050| 20 73 74 61 74 75 73 20 | 66 69 65 6c 64 0d 09 09 | status |field...|
|00001060| 62 6e 65 09 09 64 69 63 | 5b 6e 6f 46 6c 6f 61 74 |bne..dic|[noFloat|
|00001070| 5d 0d 09 09 6d 6f 76 65 | 2e 77 09 64 30 2c 28 61 |]...move|.w.d0,(a|
|00001080| 30 29 09 09 09 09 3b 20 | 4d 6f 76 65 20 6e 65 78 |0)....; |Move nex|
|00001090| 74 20 66 72 65 65 20 62 | 6c 6b 20 6f 66 66 73 20 |t free b|lk offs |
|000010a0| 74 6f 20 62 6c 6b 20 62 | 65 69 6e 67 20 66 72 65 |to blk b|eing fre|
|000010b0| 65 64 0d 09 09 73 75 62 | 2e 6c 09 61 31 2c 61 30 |ed...sub|.l.a1,a0|
|000010c0| 09 09 09 09 3b 20 47 65 | 74 20 6f 66 66 73 65 74 |....; Ge|t offset|
|000010d0| 20 6f 66 20 62 6c 6f 63 | 6b 0d 09 09 6d 6f 76 65 | of bloc|k...move|
|000010e0| 2e 77 09 61 30 2c 28 61 | 31 29 09 09 09 09 3b 20 |.w.a0,(a|1)....; |
|000010f0| 53 74 6f 72 65 20 69 6e | 20 66 72 65 65 20 6c 69 |Store in| free li|
|00001100| 73 74 20 68 65 61 64 65 | 72 0d 3b 63 6f 64 65 0d |st heade|r.;code.|
|00001110| 0d 0d 3a 63 6f 64 65 20 | 46 4c 49 54 0d 09 09 62 |..:code |FLIT...b|
|00001120| 73 72 09 09 64 69 63 5b | 28 66 6c 74 4e 65 77 29 |sr..dic[|(fltNew)|
|00001130| 5d 09 09 3b 20 4e 65 77 | 20 66 6c 6f 61 74 20 70 |]..; New| float p|
|00001140| 74 72 20 74 6f 20 41 30 | 0d 09 09 70 75 73 68 2e |tr to A0|...push.|
|00001150| 6c 09 61 30 09 09 09 09 | 09 3b 20 50 75 73 68 20 |l.a0....|.; Push |
|00001160| 69 74 0d 09 09 6d 6f 76 | 65 2e 6c 09 28 61 37 29 |it...mov|e.l.(a7)|
|00001170| 2c 61 31 0d 09 09 6d 6f | 76 65 2e 77 09 28 61 31 |,a1...mo|ve.w.(a1|
|00001180| 29 2b 2c 28 61 30 29 2b | 09 09 09 3b 20 4c 69 74 |)+,(a0)+|...; Lit|
|00001190| 65 72 61 6c 20 69 73 20 | 69 6e 20 38 30 2d 62 69 |eral is |in 80-bi|
|000011a0| 74 20 66 6f 72 6d 61 74 | 0d 09 09 63 6c 72 2e 77 |t format|...clr.w|
|000011b0| 09 28 61 30 29 2b 09 09 | 09 09 3b 20 45 78 70 61 |.(a0)+..|..; Expa|
|000011c0| 6e 64 20 74 6f 20 46 50 | 55 20 66 6f 72 6d 61 74 |nd to FP|U format|
|000011d0| 0d 09 09 6d 6f 76 65 2e | 6c 09 28 61 31 29 2b 2c |...move.|l.(a1)+,|
|000011e0| 28 61 30 29 2b 0d 09 09 | 6d 6f 76 65 2e 6c 09 28 |(a0)+...|move.l.(|
|000011f0| 61 31 29 2b 2c 28 61 30 | 29 0d 09 09 6d 6f 76 65 |a1)+,(a0|)...move|
|00001200| 2e 6c 09 61 31 2c 28 61 | 37 29 09 09 09 09 3b 20 |.l.a1,(a|7)....; |
|00001210| 55 70 64 61 74 65 20 72 | 65 74 75 72 6e 20 61 64 |Update r|eturn ad|
|00001220| 64 72 65 73 73 0d 3b 63 | 6f 64 65 0d 0d 3a 63 6f |dress.;c|ode..:co|
|00001230| 64 65 20 28 46 50 55 4c | 49 54 29 0d 09 09 6d 6f |de (FPUL|IT)...mo|
|00001240| 76 65 2e 6c 09 28 61 37 | 29 2b 2c 61 31 0d 09 09 |ve.l.(a7|)+,a1...|
|00001250| 6a 6d 70 09 09 31 32 28 | 61 31 29 0d 3b 63 6f 64 |jmp..12(|a1).;cod|
|00001260| 65 0d 0d 3a 63 6f 64 65 | 20 46 44 55 50 0d 09 09 |e..:code| FDUP...|
|00001270| 62 73 72 09 09 64 69 63 | 5b 28 66 6c 74 4e 65 77 |bsr..dic|[(fltNew|
|00001280| 29 5d 09 09 3b 20 4e 65 | 77 20 66 6c 6f 61 74 20 |)]..; Ne|w float |
|00001290| 74 6f 20 41 30 0d 09 09 | 6d 6f 76 65 2e 6c 09 28 |to A0...|move.l.(|
|000012a0| 61 36 29 2c 61 31 09 09 | 09 09 3b 20 46 6c 6f 61 |a6),a1..|..; Floa|
|000012b0| 74 20 74 6f 20 64 75 70 | 20 74 6f 20 41 31 0d 09 |t to dup| to A1..|
|000012c0| 09 70 75 73 68 2e 6c 09 | 61 30 09 09 09 09 09 3b |.push.l.|a0.....;|
|000012d0| 20 50 75 73 68 20 6e 65 | 77 20 66 6c 6f 61 74 0d | Push ne|w float.|
|000012e0| 09 09 6d 6f 76 65 2e 77 | 09 2d 32 28 61 31 29 2c |..move.w|.-2(a1),|
|000012f0| 2d 32 28 61 30 29 09 09 | 3b 20 4d 6f 76 65 20 73 |-2(a0)..|; Move s|
|00001300| 74 61 74 75 73 20 77 6f | 72 64 0d 09 09 6d 6f 76 |tatus wo|rd...mov|
|00001310| 65 6d 2e 6c 09 28 61 31 | 29 2c 64 30 2d 64 32 09 |em.l.(a1|),d0-d2.|
|00001320| 09 09 3b 20 4d 6f 76 65 | 20 64 61 74 61 0d 09 09 |..; Move| data...|
|00001330| 6d 6f 76 65 6d 2e 6c 09 | 64 30 2d 64 32 2c 28 61 |movem.l.|d0-d2,(a|
|00001340| 30 29 0d 3b 63 6f 64 65 | 0d 0d 3a 63 6f 64 65 20 |0).;code|..:code |
|00001350| 46 4f 56 45 52 0d 09 09 | 62 73 72 09 09 64 69 63 |FOVER...|bsr..dic|
|00001360| 5b 28 66 6c 74 4e 65 77 | 29 5d 09 09 3b 20 4e 65 |[(fltNew|)]..; Ne|
|00001370| 77 20 66 6c 6f 61 74 20 | 74 6f 20 41 30 0d 09 09 |w float |to A0...|
|00001380| 6d 6f 76 65 2e 6c 09 34 | 28 61 36 29 2c 61 31 09 |move.l.4|(a6),a1.|
|00001390| 09 09 3b 20 46 6c 6f 61 | 74 20 74 6f 20 63 6f 70 |..; Floa|t to cop|
|000013a0| 79 20 74 6f 20 41 31 0d | 09 09 70 75 73 68 2e 6c |y to A1.|..push.l|
|000013b0| 09 61 30 09 09 09 09 09 | 3b 20 50 75 73 68 20 6e |.a0.....|; Push n|
|000013c0| 65 77 20 66 6c 6f 61 74 | 0d 09 09 6d 6f 76 65 2e |ew float|...move.|
|000013d0| 77 09 2d 32 28 61 31 29 | 2c 2d 32 28 61 30 29 09 |w.-2(a1)|,-2(a0).|
|000013e0| 09 3b 20 4d 6f 76 65 20 | 73 74 61 74 75 73 20 77 |.; Move |status w|
|000013f0| 6f 72 64 0d 09 09 6d 6f | 76 65 6d 2e 6c 09 28 61 |ord...mo|vem.l.(a|
|00001400| 31 29 2c 64 30 2d 64 32 | 09 09 09 3b 20 4d 6f 76 |1),d0-d2|...; Mov|
|00001410| 65 20 64 61 74 61 0d 09 | 09 6d 6f 76 65 6d 2e 6c |e data..|.movem.l|
|00001420| 09 64 30 2d 64 32 2c 28 | 61 30 29 0d 3b 63 6f 64 |.d0-d2,(|a0).;cod|
|00001430| 65 0d 09 0d 3a 20 46 32 | 44 55 50 09 09 66 4f 76 |e...: F2|DUP..fOv|
|00001440| 65 72 20 66 4f 76 65 72 | 20 20 3b 0d 0d 3a 63 6f |er fOver| ;..:co|
|00001450| 64 65 20 46 44 52 4f 50 | 0d 09 09 70 6f 70 2e 6c |de FDROP|...pop.l|
|00001460| 09 61 30 0d 09 09 62 72 | 61 09 09 64 69 63 5b 28 |.a0...br|a..dic[(|
|00001470| 66 6c 74 44 69 73 70 29 | 5d 0d 3b 63 6f 64 65 0d |fltDisp)|].;code.|
|00001480| 0d 3a 63 6f 64 65 20 46 | 32 44 52 4f 50 0d 09 09 |.:code F|2DROP...|
|00001490| 70 6f 70 2e 6c 09 61 30 | 0d 09 09 70 6f 70 2e 6c |pop.l.a0|...pop.l|
|000014a0| 09 61 31 0d 09 09 62 72 | 61 09 09 64 69 63 5b 28 |.a1...br|a..dic[(|
|000014b0| 66 6c 74 44 69 73 70 32 | 29 5d 0d 3b 63 6f 64 65 |fltDisp2|)].;code|
|000014c0| 0d 0d 28 20 6f 70 73 20 | 6f 70 43 6f 64 65 20 2d |..( ops |opCode -|
|000014d0| 2d 20 29 0d 0d 3a 20 46 | 50 36 38 4b 09 09 5c 20 |- )..: F|P68K..\ |
|000014e0| 43 61 6c 6c 20 46 50 36 | 38 4b 2e 20 20 46 6c 6f |Call FP6|8K. Flo|
|000014f0| 61 74 69 6e 67 2d 70 6f | 69 6e 74 20 70 61 63 6b |ating-po|int pack|
|00001500| 61 67 65 2e 0d 09 6d 61 | 6b 65 69 6e 74 20 20 63 |age...ma|keint c|
|00001510| 61 6c 6c 20 70 61 63 6b | 34 20 20 3b 20 20 0d 0d |all pack|4 ; ..|
|00001520| 3a 20 45 4c 45 4d 53 36 | 38 4b 09 5c 20 43 61 6c |: ELEMS6|8K.\ Cal|
|00001530| 6c 20 45 4c 45 4d 53 36 | 38 4b 2e 20 20 54 72 61 |l ELEMS6|8K. Tra|
|00001540| 6e 73 63 65 6e 64 65 6e | 74 61 6c 73 20 70 61 63 |nscenden|tals pac|
|00001550| 6b 61 67 65 2e 0d 09 6d | 61 6b 65 69 6e 74 20 20 |kage...m|akeint |
|00001560| 63 61 6c 6c 20 70 61 63 | 6b 35 20 20 3b 0d 0d 0d |call pac|k5 ;...|
|00001570| 5c 09 09 09 09 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |\....===|========|
|00001580| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001590| 3d 3d 3d 0d 0d 5c 20 09 | 09 09 20 20 20 20 20 09 |===..\ .|.. .|
|000015a0| 09 46 50 20 63 6f 64 65 | 20 77 6f 72 64 73 0d 0d |.FP code| words..|
|000015b0| 5c 09 09 09 09 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |\....===|========|
|000015c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000015d0| 3d 3d 3d 0d 0d 24 20 34 | 45 35 38 09 63 6f 6e 73 |===..$ 4|E58.cons|
|000015e0| 74 61 6e 74 09 58 49 4e | 46 4f 4d 4b 09 09 09 5c |tant.XIN|FOMK...\|
|000015f0| 20 4d 75 73 74 20 61 67 | 72 65 65 20 77 69 74 68 | Must ag|ree with|
|00001600| 20 64 65 66 6e 20 69 6e | 20 44 65 66 6e 2e 61 73 | defn in| Defn.as|
|00001610| 6d 20 2a 2a 2a 2a 2a 0d | 0d 3a 20 3a 46 50 31 09 |m *****.|.: :FP1.|
|00001620| 09 5c 20 28 20 6f 70 63 | 6f 64 65 20 2d 2d 20 29 |.\ ( opc|ode -- )|
|00001630| 0d 09 68 65 61 64 65 72 | 0d 09 2d 38 30 20 77 2c |..header|..-80 w,|
|00001640| 09 09 09 09 5c 20 68 61 | 6e 64 6c 65 72 20 63 6f |....\ ha|ndler co|
|00001650| 64 65 20 46 50 31 5f 68 | 0d 09 78 69 6e 66 6f 4d |de FP1_h|..xinfoM|
|00001660| 6b 20 77 2c 09 09 09 5c | 20 4d 61 72 6b 73 20 74 |k w,...\| Marks t|
|00001670| 68 69 73 20 77 6f 72 64 | 20 61 73 20 68 61 76 69 |his word| as havi|
|00001680| 6e 67 20 65 78 74 72 61 | 20 6e 6f 6e 2d 63 6f 64 |ng extra| non-cod|
|00001690| 65 20 69 6e 66 6f 0d 09 | 32 20 77 2c 09 09 09 09 |e info..|2 w,....|
|000016a0| 5c 20 20 77 68 69 63 68 | 20 69 73 20 32 20 62 79 |\ which| is 2 by|
|000016b0| 74 65 73 20 6c 6f 6e 67 | 0d 09 77 2c 09 09 09 09 |tes long|..w,....|
|000016c0| 09 5c 20 54 68 69 73 20 | 69 73 20 69 74 20 2d 2d |.\ This |is it --|
|000016d0| 20 74 68 65 20 6f 70 63 | 6f 64 65 0d 09 70 6f 73 | the opc|ode..pos|
|000016e0| 74 70 6f 6e 65 20 5d 09 | 09 09 5c 20 73 74 61 72 |tpone ].|..\ star|
|000016f0| 74 20 63 6f 6d 70 69 6c | 69 6e 67 0d 3b 20 20 69 |t compil|ing.; i|
|00001700| 6d 6d 65 64 69 61 74 65 | 0d 0d 0d 3a 20 3a 46 50 |mmediate|...: :FP|
|00001710| 32 09 09 5c 20 28 20 6f | 70 63 6f 64 65 20 2d 2d |2..\ ( o|pcode --|
|00001720| 20 29 0d 09 68 65 61 64 | 65 72 0d 09 2d 38 32 20 | )..head|er..-82 |
|00001730| 77 2c 09 09 09 09 5c 20 | 68 61 6e 64 6c 65 72 20 |w,....\ |handler |
|00001740| 63 6f 64 65 20 46 50 32 | 5f 68 0d 09 78 69 6e 66 |code FP2|_h..xinf|
|00001750| 6f 4d 6b 20 77 2c 09 09 | 09 5c 20 4d 61 72 6b 73 |oMk w,..|.\ Marks|
|00001760| 20 74 68 69 73 20 77 6f | 72 64 20 61 73 20 68 61 | this wo|rd as ha|
|00001770| 76 69 6e 67 20 65 78 74 | 72 61 20 6e 6f 6e 2d 63 |ving ext|ra non-c|
|00001780| 6f 64 65 20 69 6e 66 6f | 0d 09 32 20 77 2c 09 09 |ode info|..2 w,..|
|00001790| 09 09 5c 20 20 77 68 69 | 63 68 20 69 73 20 32 20 |..\ whi|ch is 2 |
|000017a0| 62 79 74 65 73 20 6c 6f | 6e 67 0d 09 77 2c 09 09 |bytes lo|ng..w,..|
|000017b0| 09 09 09 5c 20 54 68 69 | 73 20 69 73 20 69 74 20 |...\ Thi|s is it |
|000017c0| 2d 2d 20 74 68 65 20 6f | 70 63 6f 64 65 0d 09 70 |-- the o|pcode..p|
|000017d0| 6f 73 74 70 6f 6e 65 20 | 5d 09 09 09 5c 20 73 74 |ostpone |]...\ st|
|000017e0| 61 72 74 20 63 6f 6d 70 | 69 6c 69 6e 67 0d 3b 20 |art comp|iling.; |
|000017f0| 20 69 6d 6d 65 64 69 61 | 74 65 0d 0d 0d 3a 20 3a | immedia|te...: :|
|00001800| 46 50 63 6d 70 09 5c 20 | 28 20 6f 70 63 6f 64 65 |FPcmp.\ |( opcode|
|00001810| 20 2d 2d 20 29 0d 09 68 | 65 61 64 65 72 0d 09 2d | -- )..h|eader..-|
|00001820| 38 34 20 77 2c 09 09 09 | 09 5c 20 68 61 6e 64 6c |84 w,...|.\ handl|
|00001830| 65 72 20 63 6f 64 65 20 | 46 50 63 6d 70 5f 68 0d |er code |FPcmp_h.|
|00001840| 09 78 69 6e 66 6f 4d 6b | 20 77 2c 09 09 09 5c 20 |.xinfoMk| w,...\ |
|00001850| 4d 61 72 6b 73 20 74 68 | 69 73 20 77 6f 72 64 20 |Marks th|is word |
|00001860| 61 73 20 68 61 76 69 6e | 67 20 65 78 74 72 61 20 |as havin|g extra |
|00001870| 6e 6f 6e 2d 63 6f 64 65 | 20 69 6e 66 6f 0d 09 32 |non-code| info..2|
|00001880| 20 77 2c 09 09 09 09 5c | 20 20 77 68 69 63 68 20 | w,....\| which |
|00001890| 69 73 20 32 20 62 79 74 | 65 73 20 6c 6f 6e 67 0d |is 2 byt|es long.|
|000018a0| 09 77 2c 09 09 09 09 09 | 5c 20 54 68 69 73 20 69 |.w,.....|\ This i|
|000018b0| 73 20 69 74 20 2d 2d 20 | 74 68 65 20 6f 70 63 6f |s it -- |the opco|
|000018c0| 64 65 0d 09 70 6f 73 74 | 70 6f 6e 65 20 5d 09 09 |de..post|pone ]..|
|000018d0| 09 5c 20 73 74 61 72 74 | 20 63 6f 6d 70 69 6c 69 |.\ start| compili|
|000018e0| 6e 67 0d 3b 20 20 69 6d | 6d 65 64 69 61 74 65 0d |ng.; im|mediate.|
|000018f0| 0d 0d 5c 09 09 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..\..===|========|
|00001900| 20 44 79 61 64 69 63 20 | 63 6f 6d 70 61 72 69 73 | Dyadic |comparis|
|00001910| 6f 6e 73 20 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 0d |ons ====|======..|
|00001920| 3a 63 6f 64 65 20 46 43 | 4d 50 32 09 09 5c 20 28 |:code FC|MP2..\ (|
|00001930| 20 66 6c 74 30 20 66 6c | 74 31 20 2d 2d 20 61 62 | flt0 fl|t1 -- ab|
|00001940| 73 31 20 61 62 73 32 29 | 20 20 53 75 62 72 6f 75 |s1 abs2)| Subrou|
|00001950| 74 69 6e 65 20 74 6f 20 | 73 65 74 20 75 70 20 73 |tine to |set up s|
|00001960| 74 61 63 6b 20 66 6f 72 | 0d 09 09 09 09 5c 09 64 |tack for|.....\.d|
|00001970| 79 61 64 69 63 20 63 6f | 6d 70 61 72 69 73 6f 6e |yadic co|mparison|
|00001980| 20 61 6e 64 20 6b 69 6c | 6c 20 66 6c 6f 61 74 73 | and kil|l floats|
|00001990| 2e 0d 09 09 09 09 5c 09 | 55 73 65 73 20 44 30 2c |......\.|Uses D0,|
|000019a0| 44 31 2c 44 32 20 61 6e | 64 20 41 30 2c 41 31 2e |D1,D2 an|d A0,A1.|
|000019b0| 0d 09 09 6c 6f 63 0d 66 | 63 6d 70 32 09 70 6f 70 |...loc.f|cmp2.pop|
|000019c0| 2e 6c 09 61 31 09 09 09 | 09 3b 20 41 31 20 2d 3e |.l.a1...|.; A1 ->|
|000019d0| 20 66 6c 74 31 0d 09 09 | 6d 6f 76 65 2e 6c 09 28 | flt1...|move.l.(|
|000019e0| 61 36 29 2c 61 30 09 09 | 09 3b 20 41 30 20 2d 3e |a6),a0..|.; A0 ->|
|000019f0| 20 66 6c 74 30 0d 09 09 | 6d 6f 76 65 2e 77 09 28 | flt0...|move.w.(|
|00001a00| 61 30 29 2b 2c 28 61 30 | 29 09 09 3b 20 43 6f 6e |a0)+,(a0|)..; Con|
|00001a10| 76 65 72 74 20 62 6f 74 | 68 20 74 6f 20 38 30 2d |vert bot|h to 80-|
|00001a20| 62 69 74 20 53 41 4e 45 | 20 66 6f 72 6d 61 74 0d |bit SANE| format.|
|00001a30| 09 09 6d 6f 76 65 2e 77 | 09 28 61 31 29 2b 2c 28 |..move.w|.(a1)+,(|
|00001a40| 61 31 29 0d 09 09 6d 6f | 76 65 2e 6c 09 61 31 2c |a1)...mo|ve.l.a1,|
|00001a50| 28 61 36 29 0d 09 09 70 | 75 73 68 2e 6c 09 61 30 |(a6)...p|ush.l.a0|
|00001a60| 09 09 09 09 3b 20 50 75 | 73 68 20 61 64 64 72 73 |....; Pu|sh addrs|
|00001a70| 20 66 6f 72 20 53 41 4e | 45 20 63 61 6c 6c 2e 20 | for SAN|E call. |
|00001a80| 20 4e 6f 74 65 0d 09 09 | 09 09 09 09 09 09 3b 20 | Note...|......; |
|00001a90| 20 53 41 4e 45 20 6f 70 | 65 72 61 6e 64 73 20 61 | SANE op|erands a|
|00001aa0| 72 65 20 72 65 76 65 72 | 73 65 64 2e 0d 09 09 73 |re rever|sed....s|
|00001ab0| 75 62 71 09 23 32 2c 61 | 30 09 09 09 3b 20 52 65 |ubq.#2,a|0...; Re|
|00001ac0| 73 74 6f 72 65 20 6f 72 | 69 67 69 6e 61 6c 20 66 |store or|iginal f|
|00001ad0| 6c 6f 61 74 20 74 6f 20 | 41 30 2f 31 20 0d 09 09 |loat to |A0/1 ...|
|00001ae0| 09 09 09 09 09 09 3b 20 | 20 66 6f 72 20 28 66 6c |......; | for (fl|
|00001af0| 74 44 69 73 70 32 29 0d | 09 09 73 75 62 71 09 23 |tDisp2).|..subq.#|
|00001b00| 32 2c 61 31 0d 09 09 6d | 6f 76 65 71 09 23 30 2c |2,a1...m|oveq.#0,|
|00001b10| 64 32 09 09 09 3b 20 52 | 65 61 64 79 20 66 6f 72 |d2...; R|eady for|
|00001b20| 20 72 65 73 75 6c 74 0d | 09 09 62 72 61 09 64 69 | result.|..bra.di|
|00001b30| 63 5b 28 66 6c 74 44 69 | 73 70 32 29 5d 09 09 3b |c[(fltDi|sp2)]..;|
|00001b40| 20 4b 69 6c 6c 20 66 6c | 6f 61 74 73 20 28 62 75 | Kill fl|oats (bu|
|00001b50| 74 20 64 61 74 61 20 73 | 74 69 6c 6c 20 76 61 6c |t data s|till val|
|00001b60| 69 64 29 0d 3b 63 6f 64 | 65 0d 0d 0d 3a 63 6f 64 |id).;cod|e...:cod|
|00001b70| 65 20 46 50 55 43 4d 50 | 32 09 5c 20 28 20 66 6c |e FPUCMP|2.\ ( fl|
|00001b80| 74 30 20 66 6c 74 31 20 | 2d 2d 20 29 20 20 53 75 |t0 flt1 |-- ) Su|
|00001b90| 62 72 6f 75 74 69 6e 65 | 20 74 6f 20 73 65 74 20 |broutine| to set |
|00001ba0| 75 70 20 46 50 55 20 66 | 6f 72 20 63 6f 6d 70 61 |up FPU f|or compa|
|00001bb0| 72 69 73 6f 6e 2e 0d 0d | 46 50 55 63 6d 70 32 09 |rison...|FPUcmp2.|
|00001bc0| 70 6f 70 2e 6c 09 61 31 | 0d 09 09 70 6f 70 2e 6c |pop.l.a1|...pop.l|
|00001bd0| 09 61 30 0d 09 09 66 6d | 6f 76 65 2e 78 09 28 61 |.a0...fm|ove.x.(a|
|00001be0| 30 29 2c 66 70 30 0d 3b | 63 6f 64 65 0d 0d 0d 5c |0),fp0.;|code...\|
|00001bf0| 20 53 74 61 63 6b 20 66 | 72 61 6d 65 20 66 6f 72 | Stack f|rame for|
|00001c00| 20 61 6c 6c 20 64 79 61 | 64 69 63 20 63 6f 6d 70 | all dya|dic comp|
|00001c10| 61 72 69 73 6f 6e 73 3a | 0d 5c 20 28 20 66 6c 6f |arisons:|.\ ( flo|
|00001c20| 61 74 31 20 66 6c 6f 61 | 74 32 20 2d 2d 20 62 20 |at1 floa|t2 -- b |
|00001c30| 29 0d 0d 5c 20 49 66 20 | 77 65 20 68 61 76 65 20 |)..\ If |we have |
|00001c40| 61 6e 20 46 50 55 2c 20 | 77 65 20 75 73 65 20 69 |an FPU, |we use i|
|00001c50| 74 2e 20 20 49 6e 20 74 | 68 69 73 20 63 61 73 65 |t. In t|his case|
|00001c60| 20 77 65 20 64 65 66 65 | 72 20 61 73 20 6d 75 63 | we defe|r as muc|
|00001c70| 68 0d 5c 20 68 6f 75 73 | 65 6b 65 65 70 69 6e 67 |h.\ hous|ekeeping|
|00001c80| 20 61 73 20 70 6f 73 73 | 69 62 6c 65 20 74 6f 20 | as poss|ible to |
|00001c90| 74 68 65 20 74 69 6d 65 | 20 61 66 74 65 72 20 74 |the time| after t|
|00001ca0| 68 65 20 66 6c 6f 61 74 | 69 6e 67 20 63 6f 6d 70 |he float|ing comp|
|00001cb0| 61 72 69 73 6f 6e 0d 5c | 20 62 75 74 20 62 65 66 |arison.\| but bef|
|00001cc0| 6f 72 65 20 77 65 20 74 | 65 73 74 20 74 68 65 20 |ore we t|est the |
|00001cd0| 46 50 55 20 63 6f 6e 64 | 69 74 69 6f 6e 20 63 6f |FPU cond|ition co|
|00001ce0| 64 65 2e 20 20 54 68 69 | 73 20 74 69 6d 65 20 63 |de. Thi|s time c|
|00001cf0| 6f 6d 65 73 20 61 6c 6d | 6f 73 74 0d 5c 20 66 72 |omes alm|ost.\ fr|
|00001d00| 65 65 20 6f 66 20 63 68 | 61 72 67 65 20 73 69 6e |ee of ch|arge sin|
|00001d10| 63 65 20 69 74 20 77 69 | 6c 6c 20 62 65 20 6f 76 |ce it wi|ll be ov|
|00001d20| 65 72 6c 61 70 70 65 64 | 20 77 69 74 68 20 74 68 |erlapped| with th|
|00001d30| 65 20 63 6f 6d 70 61 72 | 69 73 6f 6e 20 6f 70 2e |e compar|ison op.|
|00001d40| 0d 0d 24 20 33 46 30 45 | 20 20 3a 46 50 63 6d 70 |..$ 3F0E| :FPcmp|
|00001d50| 20 20 46 3e 0d 54 6f 43 | 6f 64 65 0d 09 09 6c 6f | F>.ToC|ode...lo|
|00001d60| 63 0d 09 09 74 73 74 2e | 62 09 33 28 64 69 63 5b |c...tst.|b.3(dic[|
|00001d70| 46 50 55 3f 5d 29 0d 09 | 09 62 65 71 2e 73 09 6e |FPU?])..|.beq.s.n|
|00001d80| 6f 46 50 55 31 0d 09 09 | 62 73 72 2e 73 09 64 69 |oFPU1...|bsr.s.di|
|00001d90| 63 5b 46 50 55 63 6d 70 | 32 5d 0d 09 09 66 63 6d |c[FPUcmp|2]...fcm|
|00001da0| 70 2e 78 09 28 61 31 29 | 2c 66 70 30 0d 09 09 62 |p.x.(a1)|,fp0...b|
|00001db0| 73 72 09 64 69 63 5b 28 | 66 6c 74 44 69 73 70 32 |sr.dic[(|fltDisp2|
|00001dc0| 29 5d 0d 09 09 66 73 67 | 74 09 64 32 0d 46 69 78 |)]...fsg|t.d2.Fix|
|00001dd0| 42 6f 6f 6c 09 65 78 74 | 2e 77 09 64 32 0d 09 09 |Bool.ext|.w.d2...|
|00001de0| 65 78 74 2e 6c 09 64 32 | 0d 09 09 70 75 73 68 2e |ext.l.d2|...push.|
|00001df0| 6c 09 64 32 0d 09 09 72 | 74 73 0d 0d 6e 6f 46 50 |l.d2...r|ts..noFP|
|00001e00| 55 31 09 62 73 72 2e 73 | 09 64 69 63 5b 46 63 6d |U1.bsr.s|.dic[Fcm|
|00001e10| 70 32 5d 09 09 3b 20 53 | 65 74 75 70 0d 09 09 70 |p2]..; S|etup...p|
|00001e20| 75 73 68 2e 77 09 23 38 | 09 09 09 09 3b 20 43 6f |ush.w.#8|....; Co|
|00001e30| 64 65 20 66 6f 72 20 46 | 43 4d 50 58 0d 09 09 65 |de for F|CMPX...e|
|00001e40| 78 67 09 61 36 2c 61 37 | 0d 09 09 63 61 6c 6c 09 |xg.a6,a7|...call.|
|00001e50| 70 61 63 6b 34 0d 09 09 | 65 78 67 09 61 36 2c 61 |pack4...|exg.a6,a|
|00001e60| 37 0d 09 09 73 67 74 09 | 64 32 0d 09 09 62 72 61 |7...sgt.|d2...bra|
|00001e70| 2e 73 09 66 69 78 42 6f | 6f 6c 0d 3b 63 6f 64 65 |.s.fixBo|ol.;code|
|00001e80| 0d 0d 0d 24 20 33 46 30 | 44 20 20 3a 46 50 63 6d |...$ 3F0|D :FPcm|
|00001e90| 70 20 20 46 3c 0d 54 6f | 43 6f 64 65 0d 09 09 74 |p F<.To|Code...t|
|00001ea0| 73 74 2e 62 09 33 28 64 | 69 63 5b 46 50 55 3f 5d |st.b.3(d|ic[FPU?]|
|00001eb0| 29 0d 09 09 62 65 71 2e | 73 09 6e 6f 46 50 55 32 |)...beq.|s.noFPU2|
|00001ec0| 0d 09 09 62 73 72 09 09 | 64 69 63 5b 46 50 55 63 |...bsr..|dic[FPUc|
|00001ed0| 6d 70 32 5d 0d 09 09 66 | 63 6d 70 2e 78 09 28 61 |mp2]...f|cmp.x.(a|
|00001ee0| 31 29 2c 66 70 30 0d 09 | 09 62 73 72 09 09 64 69 |1),fp0..|.bsr..di|
|00001ef0| 63 5b 28 66 6c 74 44 69 | 73 70 32 29 5d 0d 09 09 |c[(fltDi|sp2)]...|
|00001f00| 66 73 6c 74 09 64 32 0d | 09 09 62 72 61 09 09 66 |fslt.d2.|..bra..f|
|00001f10| 69 78 42 6f 6f 6c 0d 0d | 6e 6f 46 50 55 32 09 62 |ixBool..|noFPU2.b|
|00001f20| 73 72 09 64 69 63 5b 46 | 63 6d 70 32 5d 09 09 09 |sr.dic[F|cmp2]...|
|00001f30| 3b 20 53 65 74 75 70 0d | 09 09 70 75 73 68 2e 77 |; Setup.|..push.w|
|00001f40| 09 23 38 09 09 09 09 3b | 20 43 6f 64 65 20 66 6f |.#8....;| Code fo|
|00001f50| 72 20 46 43 4d 50 58 0d | 09 09 65 78 67 09 61 36 |r FCMPX.|..exg.a6|
|00001f60| 2c 61 37 0d 09 09 63 61 | 6c 6c 09 70 61 63 6b 34 |,a7...ca|ll.pack4|
|00001f70| 0d 09 09 65 78 67 09 61 | 36 2c 61 37 0d 09 09 73 |...exg.a|6,a7...s|
|00001f80| 6c 74 09 64 32 0d 09 09 | 62 72 61 09 66 69 78 42 |lt.d2...|bra.fixB|
|00001f90| 6f 6f 6c 0d 3b 63 6f 64 | 65 0d 0d 24 20 33 46 30 |ool.;cod|e..$ 3F0|
|00001fa0| 43 20 20 3a 46 50 63 6d | 70 20 20 46 3e 3d 0d 54 |C :FPcm|p F>=.T|
|00001fb0| 6f 43 6f 64 65 0d 09 09 | 74 73 74 2e 62 09 33 28 |oCode...|tst.b.3(|
|00001fc0| 64 69 63 5b 46 50 55 3f | 5d 29 0d 09 09 62 65 71 |dic[FPU?|])...beq|
|00001fd0| 2e 73 09 6e 6f 46 50 55 | 33 0d 09 09 62 73 72 09 |.s.noFPU|3...bsr.|
|00001fe0| 09 64 69 63 5b 46 50 55 | 63 6d 70 32 5d 0d 09 09 |.dic[FPU|cmp2]...|
|00001ff0| 66 63 6d 70 2e 78 09 28 | 61 31 29 2c 66 70 30 0d |fcmp.x.(|a1),fp0.|
|00002000| 09 09 62 73 72 09 09 64 | 69 63 5b 28 66 6c 74 44 |..bsr..d|ic[(fltD|
|00002010| 69 73 70 32 29 5d 0d 09 | 09 66 73 67 65 09 64 32 |isp2)]..|.fsge.d2|
|00002020| 0d 09 09 62 72 61 09 09 | 66 69 78 42 6f 6f 6c 0d |...bra..|fixBool.|
|00002030| 0d 6e 6f 46 50 55 33 09 | 62 73 72 09 64 69 63 5b |.noFPU3.|bsr.dic[|
|00002040| 46 63 6d 70 32 5d 09 09 | 09 3b 20 53 65 74 75 70 |Fcmp2]..|.; Setup|
|00002050| 0d 09 09 70 75 73 68 2e | 77 09 23 38 09 09 09 09 |...push.|w.#8....|
|00002060| 3b 20 43 6f 64 65 20 66 | 6f 72 20 46 43 4d 50 58 |; Code f|or FCMPX|
|00002070| 0d 09 09 65 78 67 09 61 | 36 2c 61 37 0d 09 09 63 |...exg.a|6,a7...c|
|00002080| 61 6c 6c 09 70 61 63 6b | 34 0d 09 09 65 78 67 09 |all.pack|4...exg.|
|00002090| 61 36 2c 61 37 0d 09 09 | 73 67 65 09 64 32 0d 09 |a6,a7...|sge.d2..|
|000020a0| 09 62 72 61 09 66 69 78 | 42 6f 6f 6c 0d 3b 63 6f |.bra.fix|Bool.;co|
|000020b0| 64 65 0d 0d 24 20 33 46 | 30 46 20 20 3a 46 50 63 |de..$ 3F|0F :FPc|
|000020c0| 6d 70 20 20 46 3c 3d 0d | 54 6f 43 6f 64 65 0d 09 |mp F<=.|ToCode..|
|000020d0| 09 74 73 74 2e 62 09 33 | 28 64 69 63 5b 46 50 55 |.tst.b.3|(dic[FPU|
|000020e0| 3f 5d 29 0d 09 09 62 65 | 71 2e 73 09 6e 6f 46 50 |?])...be|q.s.noFP|
|000020f0| 55 34 0d 09 09 62 73 72 | 09 09 64 69 63 5b 46 50 |U4...bsr|..dic[FP|
|00002100| 55 63 6d 70 32 5d 0d 09 | 09 66 63 6d 70 2e 78 09 |Ucmp2]..|.fcmp.x.|
|00002110| 28 61 31 29 2c 66 70 30 | 0d 09 09 62 73 72 09 09 |(a1),fp0|...bsr..|
|00002120| 64 69 63 5b 28 66 6c 74 | 44 69 73 70 32 29 5d 0d |dic[(flt|Disp2)].|
|00002130| 09 09 66 73 6c 65 09 64 | 32 0d 09 09 62 72 61 09 |..fsle.d|2...bra.|
|00002140| 09 66 69 78 42 6f 6f 6c | 0d 0d 6e 6f 46 50 55 34 |.fixBool|..noFPU4|
|00002150| 09 62 73 72 09 64 69 63 | 5b 46 63 6d 70 32 5d 09 |.bsr.dic|[Fcmp2].|
|00002160| 09 3b 20 53 65 74 75 70 | 0d 09 09 70 75 73 68 2e |.; Setup|...push.|
|00002170| 77 09 23 38 09 09 09 3b | 20 43 6f 64 65 20 66 6f |w.#8...;| Code fo|
|00002180| 72 20 46 43 4d 50 58 0d | 09 09 65 78 67 09 09 61 |r FCMPX.|..exg..a|
|00002190| 36 2c 61 37 0d 09 09 63 | 61 6c 6c 09 70 61 63 6b |6,a7...c|all.pack|
|000021a0| 34 0d 09 09 65 78 67 09 | 09 61 36 2c 61 37 0d 09 |4...exg.|.a6,a7..|
|000021b0| 09 73 6c 65 09 09 64 32 | 0d 09 09 62 72 61 09 09 |.sle..d2|...bra..|
|000021c0| 66 69 78 42 6f 6f 6c 0d | 3b 63 6f 64 65 0d 0d 24 |fixBool.|;code..$|
|000021d0| 20 33 46 30 37 20 20 3a | 46 50 63 6d 70 20 20 46 | 3F07 :|FPcmp F|
|000021e0| 3d 0d 54 6f 43 6f 64 65 | 0d 09 09 74 73 74 2e 62 |=.ToCode|...tst.b|
|000021f0| 09 33 28 64 69 63 5b 46 | 50 55 3f 5d 29 0d 09 09 |.3(dic[F|PU?])...|
|00002200| 62 65 71 2e 73 09 6e 6f | 46 50 55 35 0d 09 09 62 |beq.s.no|FPU5...b|
|00002210| 73 72 09 09 64 69 63 5b | 46 50 55 63 6d 70 32 5d |sr..dic[|FPUcmp2]|
|00002220| 0d 09 09 66 63 6d 70 2e | 78 09 28 61 31 29 2c 66 |...fcmp.|x.(a1),f|
|00002230| 70 30 0d 09 09 62 73 72 | 09 09 64 69 63 5b 28 66 |p0...bsr|..dic[(f|
|00002240| 6c 74 44 69 73 70 32 29 | 5d 0d 09 09 66 73 65 71 |ltDisp2)|]...fseq|
|00002250| 09 64 32 0d 09 09 62 72 | 61 09 09 66 69 78 42 6f |.d2...br|a..fixBo|
|00002260| 6f 6c 0d 0d 6e 6f 46 50 | 55 35 09 62 73 72 09 64 |ol..noFP|U5.bsr.d|
|00002270| 69 63 5b 46 63 6d 70 32 | 5d 09 09 3b 20 53 65 74 |ic[Fcmp2|]..; Set|
|00002280| 75 70 0d 09 09 70 75 73 | 68 2e 77 09 23 38 09 09 |up...pus|h.w.#8..|
|00002290| 09 3b 20 43 6f 64 65 20 | 66 6f 72 20 46 43 4d 50 |.; Code |for FCMP|
|000022a0| 58 0d 09 09 65 78 67 09 | 09 61 36 2c 61 37 0d 09 |X...exg.|.a6,a7..|
|000022b0| 09 63 61 6c 6c 09 70 61 | 63 6b 34 0d 09 09 65 78 |.call.pa|ck4...ex|
|000022c0| 67 09 09 61 36 2c 61 37 | 0d 09 09 73 65 71 09 09 |g..a6,a7|...seq..|
|000022d0| 64 32 0d 09 09 62 72 61 | 09 09 66 69 78 42 6f 6f |d2...bra|..fixBoo|
|000022e0| 6c 0d 3b 63 6f 64 65 0d | 0d 24 20 33 46 30 36 20 |l.;code.|.$ 3F06 |
|000022f0| 20 3a 46 50 63 6d 70 20 | 20 46 3c 3e 0d 54 6f 43 | :FPcmp | F<>.ToC|
|00002300| 6f 64 65 0d 09 09 74 73 | 74 2e 62 09 33 28 64 69 |ode...ts|t.b.3(di|
|00002310| 63 5b 46 50 55 3f 5d 29 | 0d 09 09 62 65 71 2e 73 |c[FPU?])|...beq.s|
|00002320| 09 6e 6f 46 50 55 36 0d | 09 09 62 73 72 09 09 64 |.noFPU6.|..bsr..d|
|00002330| 69 63 5b 46 50 55 63 6d | 70 32 5d 0d 09 09 66 63 |ic[FPUcm|p2]...fc|
|00002340| 6d 70 2e 78 09 28 61 31 | 29 2c 66 70 30 0d 09 09 |mp.x.(a1|),fp0...|
|00002350| 62 73 72 09 09 64 69 63 | 5b 28 66 6c 74 44 69 73 |bsr..dic|[(fltDis|
|00002360| 70 32 29 5d 0d 09 09 66 | 73 6e 65 09 64 32 0d 09 |p2)]...f|sne.d2..|
|00002370| 09 62 72 61 09 09 66 69 | 78 42 6f 6f 6c 0d 09 09 |.bra..fi|xBool...|
|00002380| 72 74 73 0d 0d 6e 6f 46 | 50 55 36 09 62 73 72 09 |rts..noF|PU6.bsr.|
|00002390| 64 69 63 5b 46 63 6d 70 | 32 5d 09 09 3b 20 53 65 |dic[Fcmp|2]..; Se|
|000023a0| 74 75 70 0d 09 09 70 75 | 73 68 2e 77 09 23 38 09 |tup...pu|sh.w.#8.|
|000023b0| 09 09 3b 20 43 6f 64 65 | 20 66 6f 72 20 46 43 4d |..; Code| for FCM|
|000023c0| 50 58 0d 09 09 65 78 67 | 09 09 61 36 2c 61 37 0d |PX...exg|..a6,a7.|
|000023d0| 09 09 63 61 6c 6c 09 70 | 61 63 6b 34 0d 09 09 65 |..call.p|ack4...e|
|000023e0| 78 67 09 09 61 36 2c 61 | 37 0d 09 09 73 6e 65 09 |xg..a6,a|7...sne.|
|000023f0| 09 64 32 0d 09 09 62 72 | 61 09 09 66 69 78 42 6f |.d2...br|a..fixBo|
|00002400| 6f 6c 0d 3b 63 6f 64 65 | 0d 0d 0d 5c 09 09 3d 3d |ol.;code|...\..==|
|00002410| 3d 3d 3d 3d 3d 3d 3d 20 | 4d 6f 6e 61 64 69 63 20 |======= |Monadic |
|00002420| 63 6f 6d 70 61 72 69 73 | 6f 6e 73 20 3d 3d 3d 3d |comparis|ons ====|
|00002430| 3d 3d 3d 3d 3d 3d 0d 0d | 76 61 72 69 61 62 6c 65 |======..|variable|
|00002440| 09 46 5a 45 52 4f 09 09 | 30 20 2c 20 30 20 2c 09 |.FZERO..|0 , 0 ,.|
|00002450| 09 5c 20 53 6f 75 72 63 | 65 20 6f 66 20 7a 65 72 |.\ Sourc|e of zer|
|00002460| 6f 0d 0d 3a 63 6f 64 65 | 20 46 43 4d 50 31 09 5c |o..:code| FCMP1.\|
|00002470| 20 28 20 66 6c 74 20 2d | 2d 20 61 62 73 20 29 20 | ( flt -|- abs ) |
|00002480| 20 53 75 62 72 6f 75 74 | 69 6e 65 20 74 6f 20 73 | Subrout|ine to s|
|00002490| 65 74 20 75 70 20 73 74 | 61 63 6b 20 66 6f 72 0d |et up st|ack for.|
|000024a0| 09 09 09 5c 20 6d 6f 6e | 61 64 69 63 20 63 6f 6d |...\ mon|adic com|
|000024b0| 70 61 72 69 73 6f 6e 20 | 61 6e 64 20 6b 69 6c 6c |parison |and kill|
|000024c0| 20 66 6c 6f 61 74 2e 0d | 09 09 09 5c 20 55 73 65 | float..|...\ Use|
|000024d0| 73 20 44 30 2c 44 31 2c | 44 32 20 61 6e 64 20 41 |s D0,D1,|D2 and A|
|000024e0| 30 2c 41 31 2e 0d 09 09 | 6c 6f 63 0d 66 63 6d 70 |0,A1....|loc.fcmp|
|000024f0| 31 09 6d 6f 76 65 2e 6c | 09 28 61 36 29 2c 61 30 |1.move.l|.(a6),a0|
|00002500| 09 09 09 3b 20 41 30 20 | 2d 3e 20 66 6c 74 0d 09 |...; A0 |-> flt..|
|00002510| 09 6d 6f 76 65 2e 77 09 | 28 61 30 29 2b 2c 28 61 |.move.w.|(a0)+,(a|
|00002520| 30 29 09 09 3b 20 43 6f | 6e 76 65 72 74 20 74 6f |0)..; Co|nvert to|
|00002530| 20 38 30 2d 62 69 74 20 | 53 41 4e 45 20 66 6f 72 | 80-bit |SANE for|
|00002540| 6d 61 74 0d 09 09 6c 65 | 61 09 09 64 69 63 5b 46 |mat...le|a..dic[F|
|00002550| 5a 65 72 6f 5d 2c 61 31 | 0d 09 09 6d 6f 76 65 2e |Zero],a1|...move.|
|00002560| 6c 09 61 31 2c 28 61 36 | 29 0d 09 09 70 75 73 68 |l.a1,(a6|)...push|
|00002570| 2e 6c 09 61 30 0d 09 09 | 73 75 62 71 09 23 32 2c |.l.a0...|subq.#2,|
|00002580| 61 30 09 09 09 3b 20 52 | 65 73 74 6f 72 65 20 6f |a0...; R|estore o|
|00002590| 72 69 67 69 6e 61 6c 20 | 66 6c 6f 61 74 20 74 6f |riginal |float to|
|000025a0| 20 41 30 20 66 6f 72 20 | 0d 09 09 09 09 09 09 09 | A0 for |........|
|000025b0| 09 3b 20 20 28 66 6c 74 | 44 69 73 70 29 0d 09 09 |.; (flt|Disp)...|
|000025c0| 6d 6f 76 65 71 09 23 30 | 2c 64 32 09 09 09 3b 20 |moveq.#0|,d2...; |
|000025d0| 52 65 61 64 79 20 66 6f | 72 20 72 65 73 75 6c 74 |Ready fo|r result|
|000025e0| 0d 09 09 62 72 61 09 09 | 64 69 63 5b 28 66 6c 74 |...bra..|dic[(flt|
|000025f0| 44 69 73 70 29 5d 09 3b | 20 4b 69 6c 6c 20 66 6c |Disp)].;| Kill fl|
|00002600| 6f 61 74 20 28 62 75 74 | 20 64 61 74 61 20 73 74 |oat (but| data st|
|00002610| 69 6c 6c 20 0d 09 09 09 | 09 09 09 09 09 3b 20 20 |ill ....|.....; |
|00002620| 76 61 6c 69 64 29 0d 3b | 63 6f 64 65 0d 0d 0d 24 |valid).;|code...$|
|00002630| 20 33 46 31 37 20 20 3a | 46 50 63 6d 70 20 20 46 | 3F17 :|FPcmp F|
|00002640| 30 3d 0d 54 6f 43 6f 64 | 65 0d 09 09 6c 6f 63 0d |0=.ToCod|e...loc.|
|00002650| 09 09 74 73 74 2e 62 09 | 33 28 64 69 63 5b 46 50 |..tst.b.|3(dic[FP|
|00002660| 55 3f 5d 29 0d 09 09 62 | 65 71 2e 73 09 6e 6f 46 |U?])...b|eq.s.noF|
|00002670| 50 55 31 0d 09 09 70 6f | 70 2e 6c 09 61 30 0d 09 |PU1...po|p.l.a0..|
|00002680| 09 66 74 73 74 2e 78 09 | 28 61 30 29 2c 66 70 30 |.ftst.x.|(a0),fp0|
|00002690| 0d 09 09 62 73 72 09 09 | 64 69 63 5b 28 66 6c 74 |...bsr..|dic[(flt|
|000026a0| 44 69 73 70 29 5d 0d 09 | 09 66 73 65 71 09 64 32 |Disp)]..|.fseq.d2|
|000026b0| 0d 46 69 78 42 6f 6f 6c | 09 65 78 74 2e 77 09 64 |.FixBool|.ext.w.d|
|000026c0| 32 0d 09 09 65 78 74 2e | 6c 09 64 32 0d 09 09 70 |2...ext.|l.d2...p|
|000026d0| 75 73 68 2e 6c 09 64 32 | 0d 09 09 72 74 73 0d 0d |ush.l.d2|...rts..|
|000026e0| 6e 6f 46 50 55 31 09 62 | 73 72 09 09 64 69 63 5b |noFPU1.b|sr..dic[|
|000026f0| 46 63 6d 70 31 5d 09 09 | 3b 20 53 65 74 75 70 0d |Fcmp1]..|; Setup.|
|00002700| 09 09 70 75 73 68 2e 77 | 09 23 38 09 09 09 09 3b |..push.w|.#8....;|
|00002710| 20 43 6f 64 65 20 66 6f | 72 20 46 43 4d 50 58 0d | Code fo|r FCMPX.|
|00002720| 09 09 65 78 67 09 09 61 | 36 2c 61 37 0d 09 09 63 |..exg..a|6,a7...c|
|00002730| 61 6c 6c 09 70 61 63 6b | 34 0d 09 09 65 78 67 09 |all.pack|4...exg.|
|00002740| 09 61 36 2c 61 37 0d 09 | 09 73 65 71 09 09 64 32 |.a6,a7..|.seq..d2|
|00002750| 0d 09 09 62 72 61 2e 73 | 09 66 69 78 42 6f 6f 6c |...bra.s|.fixBool|
|00002760| 0d 3b 63 6f 64 65 0d 0d | 24 20 33 46 31 36 20 20 |.;code..|$ 3F16 |
|00002770| 3a 46 50 63 6d 70 20 20 | 46 30 3c 3e 0d 54 6f 43 |:FPcmp |F0<>.ToC|
|00002780| 6f 64 65 0d 09 09 74 73 | 74 2e 62 09 33 28 64 69 |ode...ts|t.b.3(di|
|00002790| 63 5b 46 50 55 3f 5d 29 | 0d 09 09 62 65 71 2e 73 |c[FPU?])|...beq.s|
|000027a0| 09 6e 6f 46 50 55 32 0d | 09 09 70 6f 70 2e 6c 09 |.noFPU2.|..pop.l.|
|000027b0| 61 30 0d 09 09 66 74 73 | 74 2e 78 09 28 61 30 29 |a0...fts|t.x.(a0)|
|000027c0| 2c 66 70 30 0d 09 09 62 | 73 72 09 09 64 69 63 5b |,fp0...b|sr..dic[|
|000027d0| 28 66 6c 74 44 69 73 70 | 29 5d 0d 09 09 66 73 6e |(fltDisp|)]...fsn|
|000027e0| 65 09 64 32 0d 09 09 62 | 72 61 09 09 66 69 78 42 |e.d2...b|ra..fixB|
|000027f0| 6f 6f 6c 0d 0d 6e 6f 46 | 50 55 32 09 62 73 72 09 |ool..noF|PU2.bsr.|
|00002800| 09 64 69 63 5b 46 63 6d | 70 31 5d 09 09 3b 20 53 |.dic[Fcm|p1]..; S|
|00002810| 65 74 75 70 0d 09 09 70 | 75 73 68 2e 77 09 23 38 |etup...p|ush.w.#8|
|00002820| 09 09 09 09 3b 20 43 6f | 64 65 20 66 6f 72 20 46 |....; Co|de for F|
|00002830| 43 4d 50 58 0d 09 09 65 | 78 67 09 09 61 36 2c 61 |CMPX...e|xg..a6,a|
|00002840| 37 0d 09 09 63 61 6c 6c | 09 70 61 63 6b 34 0d 09 |7...call|.pack4..|
|00002850| 09 65 78 67 09 09 61 36 | 2c 61 37 0d 09 09 73 6e |.exg..a6|,a7...sn|
|00002860| 65 09 09 64 32 0d 09 09 | 62 72 61 09 09 66 69 78 |e..d2...|bra..fix|
|00002870| 42 6f 6f 6c 0d 3b 63 6f | 64 65 0d 0d 24 20 33 46 |Bool.;co|de..$ 3F|
|00002880| 31 43 20 20 3a 46 50 63 | 6d 70 20 20 46 30 3e 3d |1C :FPc|mp F0>=|
|00002890| 0d 54 6f 43 6f 64 65 0d | 09 09 74 73 74 2e 62 09 |.ToCode.|..tst.b.|
|000028a0| 33 28 64 69 63 5b 46 50 | 55 3f 5d 29 0d 09 09 62 |3(dic[FP|U?])...b|
|000028b0| 65 71 2e 73 09 6e 6f 46 | 50 55 33 0d 09 09 70 6f |eq.s.noF|PU3...po|
|000028c0| 70 2e 6c 09 61 30 0d 09 | 09 66 74 73 74 2e 78 09 |p.l.a0..|.ftst.x.|
|000028d0| 28 61 30 29 2c 66 70 30 | 0d 09 09 62 73 72 09 09 |(a0),fp0|...bsr..|
|000028e0| 64 69 63 5b 28 66 6c 74 | 44 69 73 70 29 5d 0d 09 |dic[(flt|Disp)]..|
|000028f0| 09 66 73 67 65 09 64 32 | 0d 09 09 62 72 61 09 09 |.fsge.d2|...bra..|
|00002900| 66 69 78 42 6f 6f 6c 0d | 0d 6e 6f 46 50 55 33 09 |fixBool.|.noFPU3.|
|00002910| 62 73 72 09 09 64 69 63 | 5b 46 63 6d 70 31 5d 09 |bsr..dic|[Fcmp1].|
|00002920| 3b 20 53 65 74 75 70 0d | 09 09 70 75 73 68 2e 77 |; Setup.|..push.w|
|00002930| 09 23 38 09 09 09 3b 20 | 43 6f 64 65 20 66 6f 72 |.#8...; |Code for|
|00002940| 20 46 43 4d 50 58 0d 09 | 09 65 78 67 09 09 61 36 | FCMPX..|.exg..a6|
|00002950| 2c 61 37 0d 09 09 63 61 | 6c 6c 09 70 61 63 6b 34 |,a7...ca|ll.pack4|
|00002960| 0d 09 09 65 78 67 09 09 | 61 36 2c 61 37 0d 09 09 |...exg..|a6,a7...|
|00002970| 73 67 65 09 09 64 32 0d | 09 09 62 72 61 09 09 66 |sge..d2.|..bra..f|
|00002980| 69 78 42 6f 6f 6c 0d 3b | 63 6f 64 65 0d 0d 24 20 |ixBool.;|code..$ |
|00002990| 33 46 31 44 20 20 3a 46 | 50 63 6d 70 20 20 46 30 |3F1D :F|Pcmp F0|
|000029a0| 3c 0d 54 6f 43 6f 64 65 | 0d 09 09 74 73 74 2e 62 |<.ToCode|...tst.b|
|000029b0| 09 33 28 64 69 63 5b 46 | 50 55 3f 5d 29 0d 09 09 |.3(dic[F|PU?])...|
|000029c0| 62 65 71 2e 73 09 6e 6f | 46 50 55 34 0d 09 09 70 |beq.s.no|FPU4...p|
|000029d0| 6f 70 2e 6c 09 61 30 0d | 09 09 66 74 73 74 2e 78 |op.l.a0.|..ftst.x|
|000029e0| 09 28 61 30 29 2c 66 70 | 30 0d 09 09 62 73 72 09 |.(a0),fp|0...bsr.|
|000029f0| 09 64 69 63 5b 28 66 6c | 74 44 69 73 70 29 5d 0d |.dic[(fl|tDisp)].|
|00002a00| 09 09 66 73 6c 74 09 64 | 32 0d 09 09 62 72 61 09 |..fslt.d|2...bra.|
|00002a10| 09 66 69 78 42 6f 6f 6c | 0d 0d 6e 6f 46 50 55 34 |.fixBool|..noFPU4|
|00002a20| 09 62 73 72 09 09 64 69 | 63 5b 46 63 6d 70 31 5d |.bsr..di|c[Fcmp1]|
|00002a30| 09 3b 20 53 65 74 75 70 | 0d 09 09 70 75 73 68 2e |.; Setup|...push.|
|00002a40| 77 09 23 38 09 09 09 3b | 20 43 6f 64 65 20 66 6f |w.#8...;| Code fo|
|00002a50| 72 20 46 43 4d 50 58 0d | 09 09 65 78 67 09 09 61 |r FCMPX.|..exg..a|
|00002a60| 36 2c 61 37 0d 09 09 63 | 61 6c 6c 09 70 61 63 6b |6,a7...c|all.pack|
|00002a70| 34 0d 09 09 65 78 67 09 | 09 61 36 2c 61 37 0d 09 |4...exg.|.a6,a7..|
|00002a80| 09 73 6c 74 09 09 64 32 | 0d 09 09 62 72 61 09 09 |.slt..d2|...bra..|
|00002a90| 66 69 78 42 6f 6f 6c 0d | 3b 63 6f 64 65 0d 0d 24 |fixBool.|;code..$|
|00002aa0| 20 33 46 31 46 20 20 3a | 46 50 63 6d 70 20 20 46 | 3F1F :|FPcmp F|
|00002ab0| 30 3c 3d 0d 54 6f 43 6f | 64 65 0d 09 09 74 73 74 |0<=.ToCo|de...tst|
|00002ac0| 2e 62 09 33 28 64 69 63 | 5b 46 50 55 3f 5d 29 0d |.b.3(dic|[FPU?]).|
|00002ad0| 09 09 62 65 71 2e 73 09 | 6e 6f 46 50 55 35 0d 09 |..beq.s.|noFPU5..|
|00002ae0| 09 70 6f 70 2e 6c 09 61 | 30 0d 09 09 66 74 73 74 |.pop.l.a|0...ftst|
|00002af0| 2e 78 09 28 61 30 29 2c | 66 70 30 0d 09 09 62 73 |.x.(a0),|fp0...bs|
|00002b00| 72 09 09 64 69 63 5b 28 | 66 6c 74 44 69 73 70 29 |r..dic[(|fltDisp)|
|00002b10| 5d 0d 09 09 66 73 6c 65 | 09 64 32 0d 09 09 62 72 |]...fsle|.d2...br|
|00002b20| 61 09 09 66 69 78 42 6f | 6f 6c 0d 0d 6e 6f 46 50 |a..fixBo|ol..noFP|
|00002b30| 55 35 09 62 73 72 09 09 | 64 69 63 5b 46 63 6d 70 |U5.bsr..|dic[Fcmp|
|00002b40| 31 5d 09 3b 20 53 65 74 | 75 70 0d 09 09 70 75 73 |1].; Set|up...pus|
|00002b50| 68 2e 77 09 23 38 09 09 | 09 3b 20 43 6f 64 65 20 |h.w.#8..|.; Code |
|00002b60| 66 6f 72 20 46 43 4d 50 | 58 0d 09 09 65 78 67 09 |for FCMP|X...exg.|
|00002b70| 09 61 36 2c 61 37 0d 09 | 09 63 61 6c 6c 09 70 61 |.a6,a7..|.call.pa|
|00002b80| 63 6b 34 0d 09 09 65 78 | 67 09 09 61 36 2c 61 37 |ck4...ex|g..a6,a7|
|00002b90| 0d 09 09 73 6c 65 09 09 | 64 32 0d 09 09 62 72 61 |...sle..|d2...bra|
|00002ba0| 09 09 66 69 78 42 6f 6f | 6c 0d 3b 63 6f 64 65 0d |..fixBoo|l.;code.|
|00002bb0| 0d 24 20 33 46 31 45 20 | 20 3a 46 50 63 6d 70 20 |.$ 3F1E | :FPcmp |
|00002bc0| 20 46 30 3e 0d 54 6f 43 | 6f 64 65 0d 09 09 74 73 | F0>.ToC|ode...ts|
|00002bd0| 74 2e 62 09 33 28 64 69 | 63 5b 46 50 55 3f 5d 29 |t.b.3(di|c[FPU?])|
|00002be0| 0d 09 09 62 65 71 2e 73 | 09 6e 6f 46 50 55 36 0d |...beq.s|.noFPU6.|
|00002bf0| 09 09 70 6f 70 2e 6c 09 | 61 30 0d 09 09 66 74 73 |..pop.l.|a0...fts|
|00002c00| 74 2e 78 09 28 61 30 29 | 2c 66 70 30 0d 09 09 62 |t.x.(a0)|,fp0...b|
|00002c10| 73 72 09 09 64 69 63 5b | 28 66 6c 74 44 69 73 70 |sr..dic[|(fltDisp|
|00002c20| 29 5d 0d 09 09 66 73 67 | 74 09 64 32 0d 09 09 62 |)]...fsg|t.d2...b|
|00002c30| 72 61 09 09 66 69 78 42 | 6f 6f 6c 0d 0d 6e 6f 46 |ra..fixB|ool..noF|
|00002c40| 50 55 36 09 62 73 72 09 | 09 64 69 63 5b 46 63 6d |PU6.bsr.|.dic[Fcm|
|00002c50| 70 31 5d 09 3b 20 53 65 | 74 75 70 0d 09 09 70 75 |p1].; Se|tup...pu|
|00002c60| 73 68 2e 77 09 23 38 09 | 09 09 3b 20 43 6f 64 65 |sh.w.#8.|..; Code|
|00002c70| 20 66 6f 72 20 46 43 4d | 50 58 0d 09 09 65 78 67 | for FCM|PX...exg|
|00002c80| 09 09 61 36 2c 61 37 0d | 09 09 63 61 6c 6c 09 70 |..a6,a7.|..call.p|
|00002c90| 61 63 6b 34 0d 09 09 65 | 78 67 09 09 61 36 2c 61 |ack4...e|xg..a6,a|
|00002ca0| 37 0d 09 09 73 67 74 09 | 09 64 32 0d 09 09 62 72 |7...sgt.|.d2...br|
|00002cb0| 61 09 09 66 69 78 42 6f | 6f 6c 0d 3b 63 6f 64 65 |a..fixBo|ol.;code|
|00002cc0| 0d 0d 5c 09 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..\.====|========|
|00002cd0| 3d 3d 3d 20 41 72 69 74 | 68 6d 65 74 69 63 20 6f |=== Arit|hmetic o|
|00002ce0| 70 65 72 61 74 6f 72 73 | 20 3d 3d 3d 3d 3d 3d 3d |perators| =======|
|00002cf0| 3d 3d 3d 3d 3d 3d 3d 0d | 0d 3a 63 6f 64 65 20 46 |=======.|.:code F|
|00002d00| 4f 50 32 09 5c 20 28 20 | 66 6c 74 30 20 66 6c 74 |OP2.\ ( |flt0 flt|
|00002d10| 31 20 2d 2d 20 66 6c 74 | 30 20 61 64 64 72 31 20 |1 -- flt|0 addr1 |
|00002d20| 61 64 64 72 30 20 29 20 | 20 53 75 62 72 6f 75 74 |addr0 ) | Subrout|
|00002d30| 69 6e 65 20 74 6f 20 73 | 65 74 20 75 70 20 66 6f |ine to s|et up fo|
|00002d40| 72 0d 09 09 09 5c 20 20 | 32 2d 6f 70 65 72 61 6e |r....\ |2-operan|
|00002d50| 64 20 6f 70 65 72 61 74 | 69 6f 6e 2c 20 77 68 65 |d operat|ion, whe|
|00002d60| 72 65 20 66 6c 74 30 20 | 74 61 6b 65 73 20 74 68 |re flt0 |takes th|
|00002d70| 65 20 72 65 73 75 6c 74 | 2e 0d 09 09 6c 6f 63 0d |e result|....loc.|
|00002d80| 09 09 70 6f 70 2e 6c 09 | 61 30 09 09 09 09 3b 20 |..pop.l.|a0....; |
|00002d90| 41 30 20 2d 3e 20 66 6c | 74 31 0d 09 09 6d 6f 76 |A0 -> fl|t1...mov|
|00002da0| 65 2e 6c 09 28 61 36 29 | 2c 61 31 09 09 09 3b 20 |e.l.(a6)|,a1...; |
|00002db0| 41 31 20 2d 3e 20 66 6c | 74 30 2e 20 20 41 6c 73 |A1 -> fl|t0. Als|
|00002dc0| 6f 20 6c 65 61 76 65 20 | 6f 6e 20 73 74 6b 20 66 |o leave |on stk f|
|00002dd0| 6f 72 20 72 65 73 75 6c | 74 2e 0d 09 09 6d 6f 76 |or resul|t....mov|
|00002de0| 65 2e 77 09 28 61 30 29 | 2b 2c 28 61 30 29 09 09 |e.w.(a0)|+,(a0)..|
|00002df0| 3b 20 43 6f 6e 76 65 72 | 74 20 62 6f 74 68 20 74 |; Conver|t both t|
|00002e00| 6f 20 38 30 2d 62 69 74 | 20 53 41 4e 45 20 66 6f |o 80-bit| SANE fo|
|00002e10| 72 6d 61 74 0d 09 09 6d | 6f 76 65 2e 77 09 28 61 |rmat...m|ove.w.(a|
|00002e20| 31 29 2b 2c 28 61 31 29 | 0d 09 09 70 75 73 68 2e |1)+,(a1)|...push.|
|00002e30| 6c 09 61 30 09 09 09 09 | 3b 20 50 75 73 68 20 61 |l.a0....|; Push a|
|00002e40| 64 64 72 73 20 66 6f 72 | 20 53 41 4e 45 20 63 61 |ddrs for| SANE ca|
|00002e50| 6c 6c 2e 20 20 4e 6f 74 | 65 20 53 41 4e 45 0d 09 |ll. Not|e SANE..|
|00002e60| 09 70 75 73 68 2e 6c 09 | 61 31 09 09 09 09 3b 20 |.push.l.|a1....; |
|00002e70| 20 6f 70 65 72 61 6e 64 | 73 20 61 72 65 20 72 65 | operand|s are re|
|00002e80| 76 65 72 73 65 64 2e 0d | 09 09 73 75 62 71 09 23 |versed..|..subq.#|
|00002e90| 32 2c 61 30 09 09 09 3b | 20 52 65 73 74 6f 72 65 |2,a0...;| Restore|
|00002ea0| 20 6f 72 69 67 69 6e 61 | 6c 20 66 6c 74 31 20 61 | origina|l flt1 a|
|00002eb0| 64 64 72 20 74 6f 20 41 | 30 20 66 6f 72 20 28 66 |ddr to A|0 for (f|
|00002ec0| 6c 74 44 69 73 70 29 0d | 09 09 62 72 61 09 09 64 |ltDisp).|..bra..d|
|00002ed0| 69 63 5b 28 66 6c 74 44 | 69 73 70 29 5d 09 3b 20 |ic[(fltD|isp)].; |
|00002ee0| 4b 69 6c 6c 20 66 6c 74 | 31 20 28 62 75 74 20 64 |Kill flt|1 (but d|
|00002ef0| 61 74 61 20 73 74 69 6c | 6c 20 76 61 6c 69 64 29 |ata stil|l valid)|
|00002f00| 0d 3b 63 6f 64 65 0d 0d | 3a 63 6f 64 65 20 46 4f |.;code..|:code FO|
|00002f10| 50 31 0d 09 09 6d 6f 76 | 65 2e 6c 09 28 61 36 29 |P1...mov|e.l.(a6)|
|00002f20| 2c 61 30 0d 09 09 6d 6f | 76 65 2e 77 09 28 61 30 |,a0...mo|ve.w.(a0|
|00002f30| 29 2b 2c 28 61 30 29 0d | 09 09 70 75 73 68 2e 6c |)+,(a0).|..push.l|
|00002f40| 09 61 30 0d 3b 63 6f 64 | 65 0d 0d 3a 63 6f 64 65 |.a0.;cod|e..:code|
|00002f50| 20 41 44 4a 55 53 54 5f | 52 45 53 55 4c 54 09 5c | ADJUST_|RESULT.\|
|00002f60| 20 28 20 66 6c 74 20 2d | 2d 20 66 6c 74 20 29 0d | ( flt -|- flt ).|
|00002f70| 09 09 6d 6f 76 65 2e 6c | 09 28 61 36 29 2c 61 30 |..move.l|.(a6),a0|
|00002f80| 0d 09 09 6d 6f 76 65 2e | 77 09 32 28 61 30 29 2c |...move.|w.2(a0),|
|00002f90| 28 61 30 29 0d 09 09 63 | 6c 72 2e 77 09 32 28 61 |(a0)...c|lr.w.2(a|
|00002fa0| 30 29 0d 3b 63 6f 64 65 | 0d 0d 0d 5c 20 28 20 66 |0).;code|...\ ( f|
|00002fb0| 31 20 66 32 20 2d 2d 20 | 66 31 3c 6f 70 3e 66 32 |1 f2 -- |f1<op>f2|
|00002fc0| 20 29 20 20 52 65 73 75 | 6c 74 20 67 65 74 73 20 | ) Resu|lt gets |
|00002fd0| 73 74 6f 72 65 64 20 69 | 6e 20 66 31 27 73 20 64 |stored i|n f1's d|
|00002fe0| 61 74 61 2e 0d 0d 24 20 | 34 31 20 3a 66 70 32 20 |ata...$ |41 :fp2 |
|00002ff0| 20 46 2b 0d 54 6f 43 6f | 64 65 0d 09 09 6c 6f 63 | F+.ToCo|de...loc|
|00003000| 0d 09 09 74 73 74 2e 62 | 09 33 28 64 69 63 5b 46 |...tst.b|.3(dic[F|
|00003010| 50 55 3f 5d 29 0d 09 09 | 62 65 71 2e 73 09 6e 6f |PU?])...|beq.s.no|
|00003020| 46 50 55 0d 09 09 70 6f | 70 2e 6c 09 61 30 0d 09 |FPU...po|p.l.a0..|
|00003030| 09 6d 6f 76 65 2e 6c 09 | 28 61 36 29 2c 61 31 0d |.move.l.|(a6),a1.|
|00003040| 09 09 66 6d 6f 76 65 2e | 78 20 28 61 31 29 2c 66 |..fmove.|x (a1),f|
|00003050| 70 30 0d 09 09 66 61 64 | 64 2e 78 09 28 61 30 29 |p0...fad|d.x.(a0)|
|00003060| 2c 66 70 30 0d 09 09 62 | 73 72 09 09 64 69 63 5b |,fp0...b|sr..dic[|
|00003070| 28 66 6c 74 44 69 73 70 | 29 5d 0d 09 09 6d 6f 76 |(fltDisp|)]...mov|
|00003080| 65 2e 6c 09 28 61 36 29 | 2c 61 31 0d 09 09 66 6d |e.l.(a6)|,a1...fm|
|00003090| 6f 76 65 2e 78 20 66 70 | 30 2c 28 61 31 29 0d 09 |ove.x fp|0,(a1)..|
|000030a0| 09 72 74 73 0d 0d 6e 6f | 46 50 55 09 62 73 72 2e |.rts..no|FPU.bsr.|
|000030b0| 73 09 64 69 63 5b 66 6f | 70 32 5d 09 3b 20 53 65 |s.dic[fo|p2].; Se|
|000030c0| 74 75 70 0d 09 09 63 6c | 72 2e 77 09 2d 28 61 36 |tup...cl|r.w.-(a6|
|000030d0| 29 09 09 3b 20 43 6f 64 | 65 20 66 6f 72 20 46 41 |)..; Cod|e for FA|
|000030e0| 44 44 58 0d 09 09 65 78 | 67 09 09 61 36 2c 61 37 |DDX...ex|g..a6,a7|
|000030f0| 0d 09 09 63 61 6c 6c 09 | 70 61 63 6b 34 0d 09 09 |...call.|pack4...|
|00003100| 65 78 67 09 09 61 36 2c | 61 37 0d 09 09 62 72 61 |exg..a6,|a7...bra|
|00003110| 09 09 64 69 63 5b 61 64 | 6a 75 73 74 5f 72 65 73 |..dic[ad|just_res|
|00003120| 75 6c 74 5d 0d 3b 63 6f | 64 65 0d 0d 0d 24 20 34 |ult].;co|de...$ 4|
|00003130| 38 20 3a 66 70 32 20 20 | 46 2d 0d 54 6f 43 6f 64 |8 :fp2 |F-.ToCod|
|00003140| 65 0d 09 09 6c 6f 63 0d | 09 09 74 73 74 2e 62 09 |e...loc.|..tst.b.|
|00003150| 33 28 64 69 63 5b 46 50 | 55 3f 5d 29 0d 09 09 62 |3(dic[FP|U?])...b|
|00003160| 65 71 2e 73 09 6e 6f 46 | 50 55 0d 09 09 70 6f 70 |eq.s.noF|PU...pop|
|00003170| 2e 6c 09 61 30 0d 09 09 | 6d 6f 76 65 2e 6c 09 28 |.l.a0...|move.l.(|
|00003180| 61 36 29 2c 61 31 0d 09 | 09 66 6d 6f 76 65 2e 78 |a6),a1..|.fmove.x|
|00003190| 20 28 61 31 29 2c 66 70 | 30 0d 09 09 66 73 75 62 | (a1),fp|0...fsub|
|000031a0| 2e 78 09 28 61 30 29 2c | 66 70 30 0d 09 09 62 73 |.x.(a0),|fp0...bs|
|000031b0| 72 09 09 64 69 63 5b 28 | 66 6c 74 44 69 73 70 29 |r..dic[(|fltDisp)|
|000031c0| 5d 0d 09 09 6d 6f 76 65 | 2e 6c 09 28 61 36 29 2c |]...move|.l.(a6),|
|000031d0| 61 31 0d 09 09 66 6d 6f | 76 65 2e 78 20 66 70 30 |a1...fmo|ve.x fp0|
|000031e0| 2c 28 61 31 29 0d 09 09 | 72 74 73 0d 0d 6e 6f 46 |,(a1)...|rts..noF|
|000031f0| 50 55 09 62 73 72 09 09 | 64 69 63 5b 66 6f 70 32 |PU.bsr..|dic[fop2|
|00003200| 5d 09 3b 20 53 65 74 75 | 70 0d 09 09 70 75 73 68 |].; Setu|p...push|
|00003210| 2e 77 09 23 32 09 09 09 | 3b 20 43 6f 64 65 20 66 |.w.#2...|; Code f|
|00003220| 6f 72 20 46 53 55 42 58 | 0d 09 09 65 78 67 09 09 |or FSUBX|...exg..|
|00003230| 61 36 2c 61 37 0d 09 09 | 63 61 6c 6c 09 70 61 63 |a6,a7...|call.pac|
|00003240| 6b 34 0d 09 09 65 78 67 | 09 09 61 36 2c 61 37 0d |k4...exg|..a6,a7.|
|00003250| 09 09 62 72 61 09 09 64 | 69 63 5b 61 64 6a 75 73 |..bra..d|ic[adjus|
|00003260| 74 5f 72 65 73 75 6c 74 | 5d 0d 3b 63 6f 64 65 0d |t_result|].;code.|
|00003270| 0d 24 20 34 32 20 3a 66 | 70 32 20 20 46 2a 0d 54 |.$ 42 :f|p2 F*.T|
|00003280| 6f 43 6f 64 65 0d 09 09 | 6c 6f 63 0d 09 09 74 73 |oCode...|loc...ts|
|00003290| 74 2e 62 09 33 28 64 69 | 63 5b 46 50 55 3f 5d 29 |t.b.3(di|c[FPU?])|
|000032a0| 0d 09 09 62 65 71 2e 73 | 09 6e 6f 46 50 55 0d 09 |...beq.s|.noFPU..|
|000032b0| 09 70 6f 70 2e 6c 09 61 | 30 0d 09 09 6d 6f 76 65 |.pop.l.a|0...move|
|000032c0| 2e 6c 09 28 61 36 29 2c | 61 31 0d 09 09 66 6d 6f |.l.(a6),|a1...fmo|
|000032d0| 76 65 2e 78 09 28 61 31 | 29 2c 66 70 30 0d 09 09 |ve.x.(a1|),fp0...|
|000032e0| 66 6d 75 6c 2e 78 09 28 | 61 30 29 2c 66 70 30 0d |fmul.x.(|a0),fp0.|
|000032f0| 09 09 62 73 72 09 09 64 | 69 63 5b 28 66 6c 74 44 |..bsr..d|ic[(fltD|
|00003300| 69 73 70 29 5d 0d 09 09 | 6d 6f 76 65 2e 6c 09 28 |isp)]...|move.l.(|
|00003310| 61 36 29 2c 61 31 0d 09 | 09 66 6d 6f 76 65 2e 78 |a6),a1..|.fmove.x|
|00003320| 09 66 70 30 2c 28 61 31 | 29 0d 09 09 72 74 73 0d |.fp0,(a1|)...rts.|
|00003330| 0d 6e 6f 46 50 55 09 62 | 73 72 09 09 64 69 63 5b |.noFPU.b|sr..dic[|
|00003340| 66 6f 70 32 5d 09 3b 20 | 53 65 74 75 70 0d 09 09 |fop2].; |Setup...|
|00003350| 70 75 73 68 2e 77 09 23 | 34 09 09 09 3b 20 43 6f |push.w.#|4...; Co|
|00003360| 64 65 20 66 6f 72 20 46 | 4d 55 4c 58 0d 09 09 65 |de for F|MULX...e|
|00003370| 78 67 09 09 61 36 2c 61 | 37 0d 09 09 63 61 6c 6c |xg..a6,a|7...call|
|00003380| 09 70 61 63 6b 34 0d 09 | 09 65 78 67 09 09 61 36 |.pack4..|.exg..a6|
|00003390| 2c 61 37 0d 09 09 62 72 | 61 09 09 64 69 63 5b 61 |,a7...br|a..dic[a|
|000033a0| 64 6a 75 73 74 5f 72 65 | 73 75 6c 74 5d 0d 3b 63 |djust_re|sult].;c|
|000033b0| 6f 64 65 0d 0d 24 20 34 | 39 20 3a 66 70 32 20 20 |ode..$ 4|9 :fp2 |
|000033c0| 46 2f 0d 54 6f 43 6f 64 | 65 0d 09 09 6c 6f 63 0d |F/.ToCod|e...loc.|
|000033d0| 09 09 74 73 74 2e 62 09 | 33 28 64 69 63 5b 46 50 |..tst.b.|3(dic[FP|
|000033e0| 55 3f 5d 29 0d 09 09 62 | 65 71 2e 73 09 6e 6f 46 |U?])...b|eq.s.noF|
|000033f0| 50 55 0d 09 09 70 6f 70 | 2e 6c 09 61 30 0d 09 09 |PU...pop|.l.a0...|
|00003400| 6d 6f 76 65 2e 6c 09 28 | 61 36 29 2c 61 31 0d 09 |move.l.(|a6),a1..|
|00003410| 09 66 6d 6f 76 65 2e 78 | 20 28 61 31 29 2c 66 70 |.fmove.x| (a1),fp|
|00003420| 30 0d 09 09 66 64 69 76 | 2e 78 09 28 61 30 29 2c |0...fdiv|.x.(a0),|
|00003430| 66 70 30 0d 09 09 62 73 | 72 09 09 64 69 63 5b 28 |fp0...bs|r..dic[(|
|00003440| 66 6c 74 44 69 73 70 29 | 5d 0d 09 09 6d 6f 76 65 |fltDisp)|]...move|
|00003450| 2e 6c 09 28 61 36 29 2c | 61 31 0d 09 09 66 6d 6f |.l.(a6),|a1...fmo|
|00003460| 76 65 2e 78 20 66 70 30 | 2c 28 61 31 29 0d 09 09 |ve.x fp0|,(a1)...|
|00003470| 72 74 73 0d 0d 6e 6f 46 | 50 55 09 62 73 72 09 09 |rts..noF|PU.bsr..|
|00003480| 64 69 63 5b 66 6f 70 32 | 5d 09 3b 20 53 65 74 75 |dic[fop2|].; Setu|
|00003490| 70 0d 09 09 70 75 73 68 | 2e 77 09 23 36 09 09 09 |p...push|.w.#6...|
|000034a0| 3b 20 43 6f 64 65 20 66 | 6f 72 20 46 44 49 56 58 |; Code f|or FDIVX|
|000034b0| 0d 09 09 65 78 67 09 09 | 61 36 2c 61 37 0d 09 09 |...exg..|a6,a7...|
|000034c0| 63 61 6c 6c 09 70 61 63 | 6b 34 0d 09 09 65 78 67 |call.pac|k4...exg|
|000034d0| 09 09 61 36 2c 61 37 0d | 09 09 62 72 61 09 09 64 |..a6,a7.|..bra..d|
|000034e0| 69 63 5b 61 64 6a 75 73 | 74 5f 72 65 73 75 6c 74 |ic[adjus|t_result|
|000034f0| 5d 0d 3b 63 6f 64 65 0d | 0d 0d 5c 09 09 3d 3d 3d |].;code.|..\..===|
|00003500| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 20 4d 6f 6e 61 64 |========|== Monad|
|00003510| 69 63 20 6f 70 65 72 61 | 74 69 6f 6e 73 20 3d 3d |ic opera|tions ==|
|00003520| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 0d 0d 5c 20 |========|====..\ |
|00003530| 46 4e 45 47 41 54 45 20 | 61 6e 64 20 46 41 42 53 |FNEGATE |and FABS|
|00003540| 20 73 69 6d 70 6c 79 20 | 6f 70 65 72 61 74 65 20 | simply |operate |
|00003550| 6f 6e 20 74 68 65 20 73 | 69 67 6e 20 62 69 74 2c |on the s|ign bit,|
|00003560| 20 73 6f 20 77 65 20 64 | 6f 6e 27 74 20 6e 65 65 | so we d|on't nee|
|00003570| 64 20 74 6f 0d 5c 20 63 | 61 6c 6c 20 53 41 4e 45 |d to.\ c|all SANE|
|00003580| 20 61 74 20 61 6c 6c 2e | 20 20 54 68 65 20 53 41 | at all.| The SA|
|00003590| 4e 45 20 6d 61 6e 75 61 | 6c 20 61 63 74 75 61 6c |NE manua|l actual|
|000035a0| 6c 79 20 72 65 63 6f 6d | 6d 65 6e 64 73 20 74 68 |ly recom|mends th|
|000035b0| 69 73 2e 0d 0d 24 20 35 | 35 20 3a 66 70 31 20 20 |is...$ 5|5 :fp1 |
|000035c0| 46 4e 45 47 41 54 45 0d | 74 6f 43 6f 64 65 0d 09 |FNEGATE.|toCode..|
|000035d0| 09 6d 6f 76 65 2e 6c 09 | 28 61 36 29 2c 61 30 0d |.move.l.|(a6),a0.|
|000035e0| 09 09 62 63 68 67 09 23 | 37 2c 28 61 30 29 0d 3b |..bchg.#|7,(a0).;|
|000035f0| 63 6f 64 65 0d 0d 24 20 | 35 34 20 3a 66 70 31 20 |code..$ |54 :fp1 |
|00003600| 46 41 42 53 0d 74 6f 43 | 6f 64 65 0d 09 09 6d 6f |FABS.toC|ode...mo|
|00003610| 76 65 2e 6c 09 28 61 36 | 29 2c 61 30 0d 09 09 62 |ve.l.(a6|),a0...b|
|00003620| 63 6c 72 09 23 37 2c 28 | 61 30 29 0d 3b 63 6f 64 |clr.#7,(|a0).;cod|
|00003630| 65 0d 0d 0d 24 20 35 41 | 20 3a 66 70 31 20 53 51 |e...$ 5A| :fp1 SQ|
|00003640| 52 54 0d 54 6f 43 6f 64 | 65 0d 09 09 6c 6f 63 0d |RT.ToCod|e...loc.|
|00003650| 09 09 74 73 74 2e 62 09 | 33 28 64 69 63 5b 46 50 |..tst.b.|3(dic[FP|
|00003660| 55 3f 5d 29 0d 09 09 62 | 65 71 2e 73 09 6e 6f 46 |U?])...b|eq.s.noF|
|00003670| 50 55 0d 09 09 6d 6f 76 | 65 2e 6c 09 28 61 36 29 |PU...mov|e.l.(a6)|
|00003680| 2c 61 30 0d 09 09 66 73 | 71 72 74 2e 78 09 28 61 |,a0...fs|qrt.x.(a|
|00003690| 30 29 2c 66 70 30 0d 09 | 09 66 6d 6f 76 65 2e 78 |0),fp0..|.fmove.x|
|000036a0| 20 66 70 30 2c 28 61 30 | 29 0d 09 09 72 74 73 0d | fp0,(a0|)...rts.|
|000036b0| 0d 6e 6f 46 50 55 09 6d | 6f 76 65 2e 6c 09 28 61 |.noFPU.m|ove.l.(a|
|000036c0| 36 29 2c 61 30 0d 09 09 | 6d 6f 76 65 2e 77 09 28 |6),a0...|move.w.(|
|000036d0| 61 30 29 2b 2c 28 61 30 | 29 0d 09 09 70 75 73 68 |a0)+,(a0|)...push|
|000036e0| 2e 6c 09 61 30 0d 09 09 | 65 78 67 09 09 61 36 2c |.l.a0...|exg..a6,|
|000036f0| 61 37 0d 09 09 6d 6f 76 | 65 2e 77 20 20 23 24 31 |a7...mov|e.w #$1|
|00003700| 32 2c 2d 28 61 37 29 09 | 3b 20 46 53 51 52 54 58 |2,-(a7).|; FSQRTX|
|00003710| 0d 09 09 63 61 6c 6c 09 | 70 61 63 6b 34 0d 09 09 |...call.|pack4...|
|00003720| 65 78 67 09 09 61 36 2c | 61 37 0d 09 09 62 72 61 |exg..a6,|a7...bra|
|00003730| 09 09 64 69 63 5b 61 64 | 6a 75 73 74 5f 72 65 73 |..dic[ad|just_res|
|00003740| 75 6c 74 5d 0d 3b 63 6f | 64 65 0d 0d 68 65 78 0d |ult].;co|de..hex.|
|00003750| 0d 3a 20 52 4f 55 4e 44 | 09 09 66 6f 70 31 20 20 |.: ROUND|..fop1 |
|00003760| 77 20 31 34 20 20 63 61 | 6c 6c 20 70 61 63 6b 34 |w 14 ca|ll pack4|
|00003770| 20 20 61 64 6a 75 73 74 | 5f 72 65 73 75 6c 74 20 | adjust|_result |
|00003780| 20 3b 0d 3a 20 54 52 55 | 4e 43 09 09 66 6f 70 31 | ;.: TRU|NC..fop1|
|00003790| 20 20 77 20 31 36 20 20 | 63 61 6c 6c 20 70 61 63 | w 16 |call pac|
|000037a0| 6b 34 20 20 61 64 6a 75 | 73 74 5f 72 65 73 75 6c |k4 adju|st_resul|
|000037b0| 74 20 20 3b 0d 3a 20 4c | 4f 47 42 49 4e 09 66 6f |t ;.: L|OGBIN.fo|
|000037c0| 70 31 20 20 77 20 31 41 | 20 20 63 61 6c 6c 20 70 |p1 w 1A| call p|
|000037d0| 61 63 6b 34 20 20 61 64 | 6a 75 73 74 5f 72 65 73 |ack4 ad|just_res|
|000037e0| 75 6c 74 20 20 3b 0d 0d | 64 65 63 69 6d 61 6c 0d |ult ;..|decimal.|
|000037f0| 0d 3a 63 6f 64 65 20 53 | 43 41 4c 45 42 49 4e 09 |.:code S|CALEBIN.|
|00003800| 09 5c 20 28 20 78 20 6e | 20 2d 2d 20 78 2a 28 32 |.\ ( x n| -- x*(2|
|00003810| 2a 2a 6e 29 20 29 0d 09 | 09 6c 6f 63 0d 09 09 70 |**n) )..|.loc...p|
|00003820| 6f 70 2e 6c 09 68 69 0d | 09 09 6d 6f 76 65 2e 6c |op.l.hi.|..move.l|
|00003830| 09 28 61 36 29 2c 61 30 | 0d 09 09 65 78 67 09 09 |.(a6),a0|...exg..|
|00003840| 61 36 2c 61 37 0d 09 09 | 70 65 61 09 09 6c 6f 0d |a6,a7...|pea..lo.|
|00003850| 09 09 6d 6f 76 65 2e 77 | 09 28 61 30 29 2b 2c 28 |..move.w|.(a0)+,(|
|00003860| 61 30 29 0d 09 09 6d 6f | 76 65 2e 6c 09 61 30 2c |a0)...mo|ve.l.a0,|
|00003870| 2d 28 61 37 29 0d 09 09 | 6d 6f 76 65 2e 77 09 23 |-(a7)...|move.w.#|
|00003880| 24 31 38 2c 2d 28 61 37 | 29 09 3b 20 46 53 43 41 |$18,-(a7|).; FSCA|
|00003890| 4c 42 58 0d 09 09 63 61 | 6c 6c 09 70 61 63 6b 34 |LBX...ca|ll.pack4|
|000038a0| 0d 09 09 65 78 67 09 09 | 61 36 2c 61 37 0d 09 09 |...exg..|a6,a7...|
|000038b0| 62 72 61 09 09 64 69 63 | 5b 61 64 6a 75 73 74 5f |bra..dic|[adjust_|
|000038c0| 72 65 73 75 6c 74 5d 0d | 0d 68 69 09 64 63 2e 77 |result].|.hi.dc.w|
|000038d0| 09 30 0d 6c 6f 09 64 63 | 2e 77 09 30 0d 3b 63 6f |.0.lo.dc|.w.0.;co|
|000038e0| 64 65 0d 0d 0d 5c 09 3d | 3d 3d 3d 3d 3d 3d 3d 3d |de...\.=|========|
|000038f0| 3d 3d 20 43 6f 6e 76 65 | 72 73 69 6f 6e 20 74 6f |== Conve|rsion to|
|00003900| 2f 66 72 6f 6d 20 69 6e | 74 65 67 65 72 73 20 3d |/from in|tegers =|
|00003910| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 0d 0d 3a 63 6f |========|===..:co|
|00003920| 64 65 20 46 4c 4f 41 54 | 3e 09 5c 20 28 20 66 6c |de FLOAT|>.\ ( fl|
|00003930| 74 20 2d 2d 20 69 6e 74 | 33 32 20 29 0d 0d 5c 20 |t -- int|32 )..\ |
|00003940| 53 70 65 63 69 61 6c 20 | 6e 6f 74 65 3a 20 74 68 |Special |note: th|
|00003950| 65 20 36 38 30 34 30 27 | 73 20 69 6e 74 65 67 72 |e 68040'|s integr|
|00003960| 61 74 65 64 20 46 50 20 | 64 6f 65 73 6e 27 74 20 |ated FP |doesn't |
|00003970| 69 6d 70 6c 65 6d 65 6e | 74 0d 5c 20 46 49 4e 54 |implemen|t.\ FINT|
|00003980| 52 5a 20 2d 2d 20 73 6f | 20 69 74 27 73 20 68 61 |RZ -- so| it's ha|
|00003990| 6e 64 6c 65 64 20 76 69 | 61 20 61 20 74 72 61 70 |ndled vi|a a trap|
|000039a0| 2e 20 20 57 65 20 64 65 | 66 69 6e 69 74 65 6c 79 |. We de|finitely|
|000039b0| 20 6e 65 65 64 20 74 6f | 0d 5c 20 61 76 6f 69 64 | need to|.\ avoid|
|000039c0| 20 74 68 69 73 20 69 6e | 73 74 72 75 63 74 69 6f | this in|structio|
|000039d0| 6e 21 21 21 20 20 54 68 | 65 20 63 6f 6e 76 65 72 |n!!! Th|e conver|
|000039e0| 73 69 6f 6e 20 63 61 6e | 20 73 69 6d 70 6c 79 20 |sion can| simply |
|000039f0| 62 65 20 64 6f 6e 65 0d | 5c 20 62 79 20 46 4d 4f |be done.|\ by FMO|
|00003a00| 56 45 69 6e 74 20 74 68 | 65 20 66 6c 6f 61 74 20 |VEint th|e float |
|00003a10| 74 6f 20 61 20 44 20 72 | 65 67 69 73 74 65 72 2e |to a D r|egister.|
|00003a20| 0d 0d 09 09 6d 6f 76 65 | 2e 6c 09 28 61 36 29 2c |....move|.l.(a6),|
|00003a30| 64 32 09 09 09 3b 20 53 | 6f 75 72 63 65 20 66 6c |d2...; S|ource fl|
|00003a40| 6f 61 74 0d 09 09 6d 6f | 76 65 2e 6c 09 64 32 2c |oat...mo|ve.l.d2,|
|00003a50| 61 30 0d 09 09 62 73 72 | 09 09 64 69 63 5b 28 66 |a0...bsr|..dic[(f|
|00003a60| 6c 74 44 69 73 70 29 5d | 09 3b 20 4b 69 6c 6c 20 |ltDisp)]|.; Kill |
|00003a70| 69 74 0d 09 09 6d 6f 76 | 65 2e 6c 09 64 32 2c 61 |it...mov|e.l.d2,a|
|00003a80| 30 0d 09 09 6d 6f 76 65 | 2e 62 09 33 28 64 69 63 |0...move|.b.3(dic|
|00003a90| 5b 75 73 65 46 50 55 3f | 5d 29 2c 64 30 0d 09 09 |[useFPU?|]),d0...|
|00003aa0| 62 65 71 2e 73 09 6e 6f | 46 50 55 0d 09 09 66 6d |beq.s.no|FPU...fm|
|00003ab0| 6f 76 65 2e 78 09 28 61 | 30 29 2c 66 70 30 09 09 |ove.x.(a|0),fp0..|
|00003ac0| 3b 20 67 65 74 20 74 68 | 65 20 6e 75 6d 62 65 72 |; get th|e number|
|00003ad0| 0d 09 09 66 6d 6f 76 65 | 2e 6c 09 66 70 30 2c 28 |...fmove|.l.fp0,(|
|00003ae0| 61 36 29 09 09 3b 20 63 | 6f 6e 76 65 72 74 20 74 |a6)..; c|onvert t|
|00003af0| 6f 20 69 6e 74 65 67 65 | 72 0d 09 09 72 74 73 0d |o intege|r...rts.|
|00003b00| 0d 6e 6f 46 50 55 09 6d | 6f 76 65 2e 77 09 28 61 |.noFPU.m|ove.w.(a|
|00003b10| 30 29 2b 2c 28 61 30 29 | 0d 09 09 6d 6f 76 65 2e |0)+,(a0)|...move.|
|00003b20| 6c 09 61 36 2c 64 30 09 | 09 09 3b 20 53 61 76 65 |l.a6,d0.|..; Save|
|00003b30| 20 72 65 73 75 6c 74 20 | 63 65 6c 6c 20 61 64 64 | result |cell add|
|00003b40| 72 0d 09 09 70 75 73 68 | 2e 6c 09 61 30 09 09 09 |r...push|.l.a0...|
|00003b50| 09 3b 20 53 6f 75 72 63 | 65 20 28 74 68 65 20 66 |.; Sourc|e (the f|
|00003b60| 6c 6f 61 74 20 64 61 74 | 61 29 0d 09 09 70 75 73 |loat dat|a)...pus|
|00003b70| 68 2e 6c 09 64 30 09 09 | 09 09 3b 20 44 65 73 74 |h.l.d0..|..; Dest|
|00003b80| 20 28 74 68 65 20 72 65 | 73 75 6c 74 20 63 65 6c | (the re|sult cel|
|00003b90| 6c 29 0d 09 09 70 75 73 | 68 2e 77 09 23 24 32 38 |l)...pus|h.w.#$28|
|00003ba0| 31 30 09 09 09 3b 20 45 | 78 74 65 6e 64 65 64 20 |10...; E|xtended |
|00003bb0| 74 6f 20 4c 6f 6e 67 69 | 6e 74 0d 09 09 65 78 67 |to Longi|nt...exg|
|00003bc0| 09 09 61 36 2c 61 37 0d | 09 09 63 61 6c 6c 09 70 |..a6,a7.|..call.p|
|00003bd0| 61 63 6b 34 0d 09 09 65 | 78 67 09 09 61 36 2c 61 |ack4...e|xg..a6,a|
|00003be0| 37 0d 3b 63 6f 64 65 0d | 0d 0d 3a 63 6f 64 65 20 |7.;code.|..:code |
|00003bf0| 46 4c 4f 41 54 3e 44 09 | 5c 20 28 20 66 6c 74 20 |FLOAT>D.|\ ( flt |
|00003c00| 2d 2d 20 69 6e 74 36 34 | 20 29 20 20 57 65 27 76 |-- int64| ) We'v|
|00003c10| 65 20 61 64 64 65 64 20 | 74 68 69 73 20 69 6e 20 |e added |this in |
|00003c20| 63 61 73 65 20 73 6f 6d | 65 6f 6e 65 20 0d 09 09 |case som|eone ...|
|00003c30| 5c 20 6e 65 65 64 73 20 | 74 6f 20 63 6f 6e 76 65 |\ needs |to conve|
|00003c40| 72 74 20 74 6f 20 61 20 | 64 6f 75 62 6c 65 20 69 |rt to a |double i|
|00003c50| 6e 74 65 67 65 72 2e 20 | 20 53 41 4e 45 20 43 6f |nteger. | SANE Co|
|00003c60| 6d 70 20 0d 09 09 5c 20 | 66 6f 72 6d 61 74 20 69 |mp ...\ |format i|
|00003c70| 73 20 65 73 73 65 6e 74 | 69 61 6c 6c 79 20 61 20 |s essent|ially a |
|00003c80| 64 6f 75 62 6c 65 20 69 | 6e 74 65 67 65 72 20 28 |double i|nteger (|
|00003c90| 74 68 65 20 6f 6e 6c 79 | 20 0d 09 09 5c 20 64 69 |the only| ...\ di|
|00003ca0| 66 66 65 72 65 6e 63 65 | 20 69 73 20 74 68 65 20 |fference| is the |
|00003cb0| 73 70 65 63 69 61 6c 20 | 4e 61 4e 20 76 61 6c 75 |special |NaN valu|
|00003cc0| 65 0d 09 09 5c 20 24 38 | 30 30 30 20 30 30 30 30 |e...\ $8|000 0000|
|00003cd0| 20 30 30 30 30 20 30 30 | 30 30 29 0d 0d 09 09 6d | 0000 00|00)....m|
|00003ce0| 6f 76 65 2e 6c 09 28 61 | 36 29 2c 64 32 09 09 09 |ove.l.(a|6),d2...|
|00003cf0| 3b 20 53 6f 75 72 63 65 | 20 66 6c 6f 61 74 0d 09 |; Source| float..|
|00003d00| 09 6d 6f 76 65 2e 6c 09 | 64 32 2c 61 30 0d 09 09 |.move.l.|d2,a0...|
|00003d10| 62 73 72 09 09 64 69 63 | 5b 28 66 6c 74 44 69 73 |bsr..dic|[(fltDis|
|00003d20| 70 29 5d 09 3b 20 4b 69 | 6c 6c 20 69 74 0d 09 09 |p)].; Ki|ll it...|
|00003d30| 6d 6f 76 65 2e 6c 09 64 | 32 2c 61 30 0d 09 09 6d |move.l.d|2,a0...m|
|00003d40| 6f 76 65 2e 77 09 28 61 | 30 29 2b 2c 28 61 30 29 |ove.w.(a|0)+,(a0)|
|00003d50| 0d 09 09 73 75 62 71 09 | 23 34 2c 61 36 09 09 09 |...subq.|#4,a6...|
|00003d60| 3b 20 4d 61 6b 65 20 72 | 6f 6f 6d 20 66 6f 72 20 |; Make r|oom for |
|00003d70| 64 6f 75 62 6c 65 20 72 | 65 73 75 6c 74 20 63 65 |double r|esult ce|
|00003d80| 6c 6c 0d 09 09 6d 6f 76 | 65 2e 6c 09 61 36 2c 64 |ll...mov|e.l.a6,d|
|00003d90| 30 09 09 09 3b 20 53 61 | 76 65 20 72 65 73 75 6c |0...; Sa|ve resul|
|00003da0| 74 20 63 65 6c 6c 20 61 | 64 64 72 0d 09 09 70 75 |t cell a|ddr...pu|
|00003db0| 73 68 2e 6c 09 61 30 09 | 09 09 09 3b 20 53 6f 75 |sh.l.a0.|...; Sou|
|00003dc0| 72 63 65 20 28 74 68 65 | 20 66 6c 6f 61 74 20 64 |rce (the| float d|
|00003dd0| 61 74 61 29 0d 09 09 70 | 75 73 68 2e 6c 09 64 30 |ata)...p|ush.l.d0|
|00003de0| 09 09 09 09 3b 20 44 65 | 73 74 20 28 74 68 65 20 |....; De|st (the |
|00003df0| 72 65 73 75 6c 74 20 63 | 65 6c 6c 29 0d 09 09 70 |result c|ell)...p|
|00003e00| 75 73 68 2e 77 09 23 24 | 33 30 31 30 09 09 09 3b |ush.w.#$|3010...;|
|00003e10| 20 45 78 74 65 6e 64 65 | 64 20 74 6f 20 43 6f 6d | Extende|d to Com|
|00003e20| 70 0d 09 09 65 78 67 09 | 09 61 36 2c 61 37 0d 09 |p...exg.|.a6,a7..|
|00003e30| 09 63 61 6c 6c 09 70 61 | 63 6b 34 0d 09 09 65 78 |.call.pa|ck4...ex|
|00003e40| 67 09 09 61 36 2c 61 37 | 0d 3b 63 6f 64 65 0d 0d |g..a6,a7|.;code..|
|00003e50| 0d 3a 63 6f 64 65 20 3e | 46 4c 4f 41 54 09 5c 20 |.:code >|FLOAT.\ |
|00003e60| 28 20 69 6e 74 33 32 20 | 2d 2d 20 66 6c 74 20 29 |( int32 |-- flt )|
|00003e70| 0d 09 09 70 75 73 68 2e | 6c 09 61 36 09 09 09 3b |...push.|l.a6...;|
|00003e80| 20 50 75 73 68 20 70 74 | 72 20 74 6f 20 74 68 65 | Push pt|r to the|
|00003e90| 20 6c 6f 6e 67 69 6e 74 | 0d 09 09 62 73 72 09 64 | longint|...bsr.d|
|00003ea0| 69 63 5b 28 66 6c 74 4e | 65 77 29 5d 09 3b 20 4e |ic[(fltN|ew)].; N|
|00003eb0| 65 77 20 66 6c 6f 61 74 | 20 74 6f 20 41 30 0d 09 |ew float| to A0..|
|00003ec0| 09 6d 6f 76 65 2e 6c 09 | 61 30 2c 64 32 09 09 3b |.move.l.|a0,d2..;|
|00003ed0| 20 53 61 76 65 20 69 6e | 20 44 32 0d 09 09 61 64 | Save in| D2...ad|
|00003ee0| 64 71 2e 6c 09 23 32 2c | 64 32 0d 09 09 70 75 73 |dq.l.#2,|d2...pus|
|00003ef0| 68 2e 6c 09 64 32 0d 09 | 09 70 75 73 68 2e 77 09 |h.l.d2..|.push.w.|
|00003f00| 23 24 32 38 30 45 09 09 | 3b 20 4c 6f 6e 67 69 6e |#$280E..|; Longin|
|00003f10| 74 20 74 6f 20 45 78 74 | 65 6e 64 65 64 0d 09 09 |t to Ext|ended...|
|00003f20| 65 78 67 09 09 61 36 2c | 61 37 0d 09 09 63 61 6c |exg..a6,|a7...cal|
|00003f30| 6c 09 70 61 63 6b 34 0d | 09 09 65 78 67 09 09 61 |l.pack4.|..exg..a|
|00003f40| 36 2c 61 37 0d 09 09 6d | 6f 76 65 2e 6c 09 64 32 |6,a7...m|ove.l.d2|
|00003f50| 2c 61 30 0d 09 09 6d 6f | 76 65 2e 77 09 28 61 30 |,a0...mo|ve.w.(a0|
|00003f60| 29 2c 2d 28 61 30 29 0d | 09 09 63 6c 72 2e 77 09 |),-(a0).|..clr.w.|
|00003f70| 32 28 61 30 29 0d 09 09 | 6d 6f 76 65 2e 6c 09 61 |2(a0)...|move.l.a|
|00003f80| 30 2c 28 61 36 29 09 09 | 3b 20 52 65 70 6c 61 63 |0,(a6)..|; Replac|
|00003f90| 65 20 74 68 65 20 6c 6f | 6e 67 20 63 65 6c 6c 20 |e the lo|ng cell |
|00003fa0| 77 69 74 68 0d 09 09 09 | 09 09 09 09 3b 20 20 66 |with....|....; f|
|00003fb0| 6c 6f 61 74 20 70 74 72 | 0d 3b 63 6f 64 65 0d 0d |loat ptr|.;code..|
|00003fc0| 3a 63 6f 64 65 20 44 3e | 46 4c 4f 41 54 09 5c 20 |:code D>|FLOAT.\ |
|00003fd0| 28 20 69 6e 74 36 34 20 | 2d 2d 20 66 6c 74 20 29 |( int64 |-- flt )|
|00003fe0| 0d 09 09 70 75 73 68 2e | 6c 09 61 36 09 09 09 09 |...push.|l.a6....|
|00003ff0| 3b 20 50 75 73 68 20 70 | 74 72 20 74 6f 20 74 68 |; Push p|tr to th|
|00004000| 65 20 6c 6f 6e 67 69 6e | 74 0d 09 09 62 73 72 09 |e longin|t...bsr.|
|00004010| 09 64 69 63 5b 28 66 6c | 74 4e 65 77 29 5d 09 3b |.dic[(fl|tNew)].;|
|00004020| 20 4e 65 77 20 66 6c 6f | 61 74 20 74 6f 20 41 30 | New flo|at to A0|
|00004030| 0d 09 09 6d 6f 76 65 2e | 6c 09 61 30 2c 64 32 09 |...move.|l.a0,d2.|
|00004040| 09 09 3b 20 53 61 76 65 | 20 69 6e 20 44 32 0d 09 |..; Save| in D2..|
|00004050| 09 61 64 64 71 2e 6c 09 | 23 32 2c 64 32 0d 09 09 |.addq.l.|#2,d2...|
|00004060| 70 75 73 68 2e 6c 09 64 | 32 0d 09 09 70 75 73 68 |push.l.d|2...push|
|00004070| 2e 77 09 23 24 33 30 30 | 45 09 09 09 3b 20 43 6f |.w.#$300|E...; Co|
|00004080| 6d 70 20 74 6f 20 45 78 | 74 65 6e 64 65 64 0d 09 |mp to Ex|tended..|
|00004090| 09 65 78 67 09 09 61 36 | 2c 61 37 0d 09 09 63 61 |.exg..a6|,a7...ca|
|000040a0| 6c 6c 09 70 61 63 6b 34 | 0d 09 09 65 78 67 09 09 |ll.pack4|...exg..|
|000040b0| 61 36 2c 61 37 0d 09 09 | 61 64 64 71 09 23 34 2c |a6,a7...|addq.#4,|
|000040c0| 61 36 0d 09 09 6d 6f 76 | 65 2e 6c 09 64 32 2c 61 |a6...mov|e.l.d2,a|
|000040d0| 30 0d 09 09 6d 6f 76 65 | 2e 77 09 28 61 30 29 2c |0...move|.w.(a0),|
|000040e0| 2d 28 61 30 29 0d 09 09 | 63 6c 72 2e 77 09 32 28 |-(a0)...|clr.w.2(|
|000040f0| 61 30 29 0d 09 09 6d 6f | 76 65 2e 6c 09 61 30 2c |a0)...mo|ve.l.a0,|
|00004100| 28 61 36 29 09 09 09 3b | 20 52 65 70 6c 61 63 65 |(a6)...;| Replace|
|00004110| 20 74 68 65 20 64 6f 75 | 62 6c 65 20 63 65 6c 6c | the dou|ble cell|
|00004120| 20 77 69 74 68 20 0d 09 | 09 09 09 09 09 09 09 3b | with ..|.......;|
|00004130| 20 20 66 6c 6f 61 74 20 | 70 74 72 0d 3b 63 6f 64 | float |ptr.;cod|
|00004140| 65 0d 0d 5c 09 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |e..\.===|========|
|00004150| 3d 3d 20 45 6e 76 69 72 | 6f 6e 6d 65 6e 74 61 6c |== Envir|onmental|
|00004160| 20 63 6f 6e 74 72 6f 6c | 20 3d 3d 3d 3d 3d 3d 3d | control| =======|
|00004170| 3d 3d 3d 3d 3d 3d 0d 0d | 20 20 20 20 30 09 76 61 |======..| 0.va|
|00004180| 6c 75 65 09 54 4d 50 0d | 0d 3a 63 6f 64 65 20 47 |lue.TMP.|.:code G|
|00004190| 45 54 45 4e 56 09 09 5c | 20 28 20 2d 2d 20 65 6e |ETENV..\| ( -- en|
|000041a0| 76 20 29 0d 09 09 65 78 | 67 09 09 61 36 2c 61 37 |v )...ex|g..a6,a7|
|000041b0| 0d 09 09 70 65 61 09 09 | 32 28 64 69 63 5b 74 6d |...pea..|2(dic[tm|
|000041c0| 70 5d 29 0d 09 09 6d 6f | 76 65 2e 77 09 23 33 2c |p])...mo|ve.w.#3,|
|000041d0| 2d 28 61 37 29 09 09 3b | 20 46 47 45 54 45 4e 56 |-(a7)..;| FGETENV|
|000041e0| 0d 09 09 63 61 6c 6c 09 | 70 61 63 6b 34 0d 09 09 |...call.|pack4...|
|000041f0| 65 78 67 09 09 61 36 2c | 61 37 0d 09 09 6d 6f 76 |exg..a6,|a7...mov|
|00004200| 65 71 09 23 30 2c 64 30 | 0d 09 09 6d 6f 76 65 2e |eq.#0,d0|...move.|
|00004210| 77 09 32 28 64 69 63 5b | 74 6d 70 5d 29 2c 64 30 |w.2(dic[|tmp]),d0|
|00004220| 0d 09 09 70 75 73 68 2e | 6c 09 64 30 0d 3b 63 6f |...push.|l.d0.;co|
|00004230| 64 65 0d 0d 3a 63 6f 64 | 65 20 53 45 54 45 4e 56 |de..:cod|e SETENV|
|00004240| 09 09 5c 20 28 20 65 6e | 76 20 2d 2d 20 29 0d 09 |..\ ( en|v -- )..|
|00004250| 09 70 6f 70 2e 6c 09 64 | 69 63 5b 74 6d 70 5d 0d |.pop.l.d|ic[tmp].|
|00004260| 09 09 65 78 67 09 09 61 | 36 2c 61 37 0d 09 09 70 |..exg..a|6,a7...p|
|00004270| 65 61 09 09 32 28 64 69 | 63 5b 74 6d 70 5d 29 0d |ea..2(di|c[tmp]).|
|00004280| 09 09 6d 6f 76 65 2e 77 | 09 23 31 2c 2d 28 61 37 |..move.w|.#1,-(a7|
|00004290| 29 09 09 3b 20 46 53 45 | 54 45 4e 56 0d 09 09 63 |)..; FSE|TENV...c|
|000042a0| 61 6c 6c 09 70 61 63 6b | 34 0d 09 09 65 78 67 09 |all.pack|4...exg.|
|000042b0| 09 61 36 2c 61 37 0d 3b | 63 6f 64 65 0d 0d 5c 20 |.a6,a7.;|code..\ |
|000042c0| 09 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 20 4d 61 73 |.=======|==== Mas|
|000042d0| 6b 73 20 66 6f 72 20 65 | 6e 76 69 72 6f 6e 6d 65 |ks for e|nvironme|
|000042e0| 6e 74 20 77 6f 72 64 20 | 3d 3d 3d 3d 3d 3d 3d 3d |nt word |========|
|000042f0| 3d 3d 3d 0d 0d 68 65 78 | 0d 0d 5c 20 52 6f 75 6e |===..hex|..\ Roun|
|00004300| 64 69 6e 67 0d 0d 32 30 | 30 30 09 63 6f 6e 73 74 |ding..20|00.const|
|00004310| 61 6e 74 09 52 6f 75 6e | 64 55 70 0d 34 30 30 30 |ant.Roun|dUp.4000|
|00004320| 09 63 6f 6e 73 74 61 6e | 74 09 52 6f 75 6e 64 44 |.constan|t.RoundD|
|00004330| 6f 77 6e 0d 36 30 30 30 | 09 63 6f 6e 73 74 61 6e |own.6000|.constan|
|00004340| 74 09 52 6f 75 6e 64 54 | 6f 5a 65 72 6f 0d 0d 5c |t.RoundT|oZero..\|
|00004350| 20 45 78 63 65 70 74 69 | 6f 6e 20 66 6c 61 67 73 | Excepti|on flags|
|00004360| 0d 0d 30 31 30 30 09 63 | 6f 6e 73 74 61 6e 74 09 |..0100.c|onstant.|
|00004370| 49 6e 76 61 6c 69 64 0d | 30 32 30 30 09 63 6f 6e |Invalid.|0200.con|
|00004380| 73 74 61 6e 74 09 55 6e | 64 65 72 66 6c 6f 77 0d |stant.Un|derflow.|
|00004390| 30 34 30 30 09 63 6f 6e | 73 74 61 6e 74 09 4f 76 |0400.con|stant.Ov|
|000043a0| 65 72 66 6c 6f 77 0d 30 | 38 30 30 09 63 6f 6e 73 |erflow.0|800.cons|
|000043b0| 74 61 6e 74 09 5a 64 69 | 76 69 64 65 0d 31 30 30 |tant.Zdi|vide.100|
|000043c0| 30 09 63 6f 6e 73 74 61 | 6e 74 09 49 6e 65 78 61 |0.consta|nt.Inexa|
|000043d0| 63 74 0d 0d 5c 20 48 61 | 6c 74 73 0d 0d 30 30 30 |ct..\ Ha|lts..000|
|000043e0| 31 09 63 6f 6e 73 74 61 | 6e 74 09 49 6e 76 48 61 |1.consta|nt.InvHa|
|000043f0| 6c 74 0d 30 30 30 32 09 | 63 6f 6e 73 74 61 6e 74 |lt.0002.|constant|
|00004400| 09 55 66 48 61 6c 74 0d | 30 30 30 34 09 63 6f 6e |.UfHalt.|0004.con|
|00004410| 73 74 61 6e 74 09 4f 76 | 48 61 6c 74 0d 30 30 30 |stant.Ov|Halt.000|
|00004420| 38 09 63 6f 6e 73 74 61 | 6e 74 09 5a 44 48 61 6c |8.consta|nt.ZDHal|
|00004430| 74 0d 30 30 31 30 09 63 | 6f 6e 73 74 61 6e 74 09 |t.0010.c|onstant.|
|00004440| 49 6e 78 48 61 6c 74 0d | 0d 64 65 63 69 6d 61 6c |InxHalt.|.decimal|
|00004450| 0d 0d 3a 20 53 45 54 48 | 41 4c 54 09 5c 20 28 20 |..: SETH|ALT.\ ( |
|00004460| 70 72 6f 63 2d 61 64 64 | 72 20 2d 2d 20 29 0d 09 |proc-add|r -- )..|
|00004470| 2d 3e 20 74 6d 70 20 20 | 5b 27 5d 20 74 6d 70 20 |-> tmp |['] tmp |
|00004480| 20 77 20 35 20 20 63 61 | 6c 6c 20 70 61 63 6b 34 | w 5 ca|ll pack4|
|00004490| 20 20 3b 0d 0d 3a 20 47 | 45 54 48 41 4c 54 09 5c | ;..: G|ETHALT.\|
|000044a0| 20 28 20 2d 2d 20 70 72 | 6f 63 2d 61 64 64 72 20 | ( -- pr|oc-addr |
|000044b0| 29 0d 09 5b 27 5d 20 74 | 6d 70 20 20 77 20 37 20 |)..['] t|mp w 7 |
|000044c0| 20 63 61 6c 6c 20 70 61 | 63 6b 34 20 20 74 6d 70 | call pa|ck4 tmp|
|000044d0| 20 20 3b 0d 0d 0d 3a 70 | 72 6f 63 09 46 50 45 52 | ;...:p|roc.FPER|
|000044e0| 52 09 2e 22 20 46 50 20 | 65 72 72 6f 72 22 20 20 |R.." FP |error" |
|000044f0| 63 72 0d 09 69 2d 3e 6c | 20 2e 22 20 6f 70 63 6f |cr..i->l| ." opco|
|00004500| 64 65 20 20 22 20 2e 68 | 20 20 63 72 0d 09 2e 22 |de " .h| cr..."|
|00004510| 20 64 73 74 20 61 64 64 | 72 20 20 20 20 20 22 20 | dst add|r " |
|00004520| 2e 68 20 20 63 72 0d 09 | 2e 22 20 73 72 63 20 61 |.h cr..|." src a|
|00004530| 64 64 72 20 20 20 20 20 | 22 20 2e 68 20 20 63 72 |ddr |" .h cr|
|00004540| 0d 09 2e 22 20 73 72 63 | 32 20 61 64 64 72 20 20 |..." src|2 addr |
|00004550| 20 20 22 20 2e 68 20 20 | 63 72 0d 09 2e 22 20 6d | " .h |cr..." m|
|00004560| 69 73 63 20 72 65 63 20 | 70 74 72 20 22 20 2e 68 |isc rec |ptr " .h|
|00004570| 20 20 63 72 09 09 3b 70 | 72 6f 63 0d 0d 27 20 46 | cr..;p|roc..' F|
|00004580| 50 65 72 72 20 20 73 65 | 74 68 61 6c 74 0d 0d 0d |Perr se|thalt...|
|00004590| 5c 09 09 09 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |\...====|========|
|000045a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000045b0| 3d 3d 3d 3d 3d 3d 3d 0d | 0d 5c 09 09 20 20 20 20 |=======.|.\.. |
|000045c0| 09 46 50 20 6e 61 6d 65 | 64 20 70 61 72 6d 73 20 |.FP name|d parms |
|000045d0| 61 6e 64 20 6c 6f 63 61 | 6c 73 0d 0d 5c 09 09 09 |and loca|ls..\...|
|000045e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000045f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004600| 3d 3d 3d 0d 0d 5c 20 49 | 6e 20 4d 6f 70 73 2c 20 |===..\ I|n Mops, |
|00004610| 70 61 72 6d 73 2f 6c 6f | 63 61 6c 73 20 61 72 65 |parms/lo|cals are|
|00004620| 20 69 6e 20 44 34 2d 44 | 37 2c 20 61 6e 64 20 69 | in D4-D|7, and i|
|00004630| 6e 20 74 68 65 20 45 78 | 74 72 61 4c 6f 63 61 6c |n the Ex|traLocal|
|00004640| 73 20 61 72 65 61 2e 0d | 5c 20 41 6e 79 20 66 6c |s area..|\ Any fl|
|00004650| 6f 61 74 69 6e 67 20 6c | 6f 63 61 6c 73 20 68 61 |oating l|ocals ha|
|00004660| 76 65 20 74 68 65 20 66 | 6c 6f 61 74 20 70 74 72 |ve the f|loat ptr|
|00004670| 20 69 6e 20 74 68 65 20 | 44 20 72 65 67 20 6f 72 | in the |D reg or|
|00004680| 20 58 4c 20 6c 6f 63 61 | 74 69 6f 6e 2e 0d 5c 20 | XL loca|tion..\ |
|00004690| 54 6f 20 66 65 74 63 68 | 20 61 20 66 6c 6f 61 74 |To fetch| a float|
|000046a0| 69 6e 67 20 6c 6f 63 61 | 6c 2c 20 77 65 20 63 6f |ing loca|l, we co|
|000046b0| 6d 70 69 6c 65 0d 5c 0d | 5c 09 6d 6f 76 65 2e 6c |mpile.\.|\.move.l|
|000046c0| 09 3c 77 68 61 74 65 76 | 65 72 3e 2c 41 31 0d 5c |.<whatev|er>,A1.\|
|000046d0| 09 6a 73 72 09 4c 66 6c | 6f 61 74 0d 5c 0d 5c 20 |.jsr.Lfl|oat.\.\ |
|000046e0| 61 6e 64 20 74 6f 20 73 | 74 6f 72 65 20 6f 72 20 |and to s|tore or |
|000046f0| 77 68 61 74 65 76 65 72 | 20 74 6f 20 61 20 66 6c |whatever| to a fl|
|00004700| 6f 61 74 69 6e 67 20 6c | 6f 63 61 6c 2c 20 77 65 |oating l|ocal, we|
|00004710| 20 63 6f 6d 70 69 6c 65 | 0d 5c 0d 5c 09 6d 6f 76 | compile|.\.\.mov|
|00004720| 65 2e 6c 09 3c 77 68 61 | 74 65 76 65 72 3e 2c 44 |e.l.<wha|tever>,D|
|00004730| 32 0d 5c 09 6d 6f 76 65 | 2e 77 09 23 3c 6f 70 63 |2.\.move|.w.#<opc|
|00004740| 6f 64 65 3e 2c 44 31 0d | 5c 09 6a 73 72 09 09 54 |ode>,D1.|\.jsr..T|
|00004750| 6f 4c 66 6c 6f 61 74 0d | 5c 09 6d 6f 76 65 2e 6c |oLfloat.|\.move.l|
|00004760| 09 44 32 2c 3c 77 68 61 | 74 65 76 65 72 3e 0d 5c |.D2,<wha|tever>.\|
|00004770| 0d 5c 20 48 61 6e 64 6c | 65 72 73 20 64 6f 65 73 |.\ Handl|ers does|
|00004780| 20 74 68 65 20 68 61 72 | 64 20 77 6f 72 6b 20 6f | the har|d work o|
|00004790| 66 20 67 65 6e 65 72 61 | 74 69 6e 67 20 74 68 69 |f genera|ting thi|
|000047a0| 73 20 63 6f 64 65 20 28 | 77 68 69 63 68 20 69 73 |s code (|which is|
|000047b0| 6e 27 74 20 76 65 72 79 | 0d 5c 20 68 61 72 64 2c |n't very|.\ hard,|
|000047c0| 20 72 65 61 6c 6c 79 29 | 2e 20 20 4c 66 6c 6f 61 | really)|. Lfloa|
|000047d0| 74 20 61 6e 64 20 54 6f | 4c 66 6c 6f 61 74 20 61 |t and To|Lfloat a|
|000047e0| 72 65 20 66 6f 72 77 61 | 72 64 20 64 65 66 69 6e |re forwa|rd defin|
|000047f0| 65 64 20 69 6e 20 74 68 | 65 20 6e 75 63 6c 65 75 |ed in th|e nucleu|
|00004800| 73 2c 0d 5c 20 61 6e 64 | 20 61 72 65 20 72 65 73 |s,.\ and| are res|
|00004810| 6f 6c 76 65 64 20 68 65 | 72 65 2e 0d 5c 20 4e 6f |olved he|re..\ No|
|00004820| 74 65 20 61 6c 73 6f 2c | 20 74 68 61 74 20 66 6f |te also,| that fo|
|00004830| 72 20 46 40 20 77 68 69 | 63 68 20 77 65 20 75 73 |r F@ whi|ch we us|
|00004840| 65 20 66 6f 72 20 73 6f | 6d 65 20 66 6c 6f 61 74 |e for so|me float|
|00004850| 69 6e 67 20 61 72 72 61 | 79 20 61 63 63 65 73 73 |ing arra|y access|
|00004860| 65 73 2c 0d 5c 20 77 65 | 20 4a 53 52 20 74 6f 20 |es,.\ we| JSR to |
|00004870| 4c 66 6c 6f 61 74 2b 38 | 2c 20 74 68 75 73 20 73 |Lfloat+8|, thus s|
|00004880| 6b 69 70 70 69 6e 67 20 | 74 68 65 20 63 68 65 63 |kipping |the chec|
|00004890| 6b 20 66 6f 72 20 74 68 | 65 20 73 74 61 74 75 73 |k for th|e status|
|000048a0| 20 77 6f 72 64 20 74 68 | 61 74 0d 5c 20 70 72 65 | word th|at.\ pre|
|000048b0| 63 65 64 65 73 20 73 63 | 61 6c 61 72 20 66 6c 6f |cedes sc|alar flo|
|000048c0| 61 74 73 2e 0d 0d 69 6e | 69 74 3a 20 66 6c 74 4d |ats...in|it: fltM|
|000048d0| 65 6d 09 09 5c 20 49 6e | 20 63 61 73 65 20 77 65 |em..\ In| case we|
|000048e0| 27 72 65 20 72 65 6c 6f | 61 64 69 6e 67 0d 0d 3a |'re relo|ading..:|
|000048f0| 63 6f 64 65 20 46 50 4f | 50 53 0d 09 09 66 61 64 |code FPO|PS...fad|
|00004900| 64 2e 78 09 28 61 30 29 | 2c 66 70 30 0d 09 09 72 |d.x.(a0)|,fp0...r|
|00004910| 74 73 0d 09 09 6e 6f 70 | 0d 09 09 66 73 75 62 2e |ts...nop|...fsub.|
|00004920| 78 09 28 61 30 29 2c 66 | 70 30 0d 09 09 72 74 73 |x.(a0),f|p0...rts|
|00004930| 0d 09 09 6e 6f 70 0d 09 | 09 66 6d 75 6c 2e 78 09 |...nop..|.fmul.x.|
|00004940| 28 61 30 29 2c 66 70 30 | 0d 09 09 72 74 73 0d 09 |(a0),fp0|...rts..|
|00004950| 09 6e 6f 70 0d 09 09 66 | 64 69 76 2e 78 09 28 61 |.nop...f|div.x.(a|
|00004960| 30 29 2c 66 70 30 0d 3b | 63 6f 64 65 0d 0d 3a 63 |0),fp0.;|code..:c|
|00004970| 6f 64 65 20 28 4c 46 4c | 4f 41 54 29 0d 09 09 6c |ode (LFL|OAT)...l|
|00004980| 6f 63 0d 09 09 63 6d 70 | 69 2e 77 09 23 31 2c 2d |oc...cmp|i.w.#1,-|
|00004990| 32 28 61 31 29 09 09 3b | 20 43 68 65 63 6b 20 73 |2(a1)..;| Check s|
|000049a0| 6f 75 72 63 65 0d 09 09 | 62 6e 65 2e 73 09 6e 6f |ource...|bne.s.no|
|000049b0| 66 6c 74 0d 09 09 09 09 | 09 09 09 09 3b 20 46 40 |flt.....|....; F@|
|000049c0| 20 63 6f 6d 65 73 20 69 | 6e 20 68 65 72 65 2e 0d | comes i|n here..|
|000049d0| 09 09 62 73 72 09 09 64 | 69 63 5b 28 66 6c 74 4e |..bsr..d|ic[(fltN|
|000049e0| 65 77 29 5d 09 3b 20 47 | 65 74 20 6e 65 77 20 66 |ew)].; G|et new f|
|000049f0| 6c 6f 61 74 20 74 6f 20 | 41 30 0d 09 09 70 75 73 |loat to |A0...pus|
|00004a00| 68 2e 6c 09 61 30 09 09 | 09 09 3b 20 50 75 73 68 |h.l.a0..|..; Push|
|00004a10| 20 61 73 20 72 65 73 75 | 6c 74 0d 6d 6f 76 69 74 | as resu|lt.movit|
|00004a20| 09 6d 6f 76 65 6d 2e 6c | 09 28 61 31 29 2c 64 30 |.movem.l|.(a1),d0|
|00004a30| 2d 64 32 09 09 3b 20 4d | 6f 76 65 20 64 61 74 61 |-d2..; M|ove data|
|00004a40| 0d 09 09 6d 6f 76 65 6d | 2e 6c 09 64 30 2d 64 32 |...movem|.l.d0-d2|
|00004a50| 2c 28 61 30 29 0d 09 09 | 72 74 73 0d 0d 6e 6f 66 |,(a0)...|rts..nof|
|00004a60| 6c 74 09 6d 6f 76 65 2e | 6c 09 61 31 2c 61 30 0d |lt.move.|l.a1,a0.|
|00004a70| 09 09 62 72 61 09 09 64 | 69 63 5b 4e 6f 46 6c 6f |..bra..d|ic[NoFlo|
|00004a80| 61 74 5d 0d 3b 63 6f 64 | 65 0d 0d 3a 63 6f 64 65 |at].;cod|e..:code|
|00004a90| 20 28 54 4f 4c 46 4c 4f | 41 54 29 0d 09 09 74 73 | (TOLFLO|AT)...ts|
|00004aa0| 74 2e 6c 09 64 31 0d 09 | 09 62 70 6c 2e 73 09 6f |t.l.d1..|.bpl.s.o|
|00004ab0| 70 65 72 61 74 65 0d 09 | 09 74 73 74 2e 6c 09 64 |perate..|.tst.l.d|
|00004ac0| 32 0d 09 09 62 65 71 2e | 73 09 6e 6f 44 69 73 70 |2...beq.|s.noDisp|
|00004ad0| 0d 09 09 6d 6f 76 65 2e | 6c 09 64 32 2c 61 30 0d |...move.|l.d2,a0.|
|00004ae0| 09 09 62 73 72 09 09 64 | 69 63 5b 28 66 6c 74 44 |..bsr..d|ic[(fltD|
|00004af0| 69 73 70 29 5d 0d 6e 6f | 44 69 73 70 09 70 6f 70 |isp)].no|Disp.pop|
|00004b00| 2e 6c 09 64 32 0d 09 09 | 72 74 73 0d 0d 6f 70 65 |.l.d2...|rts..ope|
|00004b10| 72 61 74 65 09 74 73 74 | 2e 6c 09 64 32 0d 09 09 |rate.tst|.l.d2...|
|00004b20| 62 65 71 09 09 64 69 63 | 5b 6e 6f 74 49 6e 69 74 |beq..dic|[notInit|
|00004b30| 5d 0d 6f 70 72 74 31 09 | 63 6d 70 69 2e 77 09 23 |].oprt1.|cmpi.w.#|
|00004b40| 24 30 30 33 45 2c 64 31 | 0d 09 09 62 68 73 2e 73 |$003E,d1|...bhs.s|
|00004b50| 09 41 62 73 4e 65 67 0d | 09 09 74 73 74 2e 62 09 |.AbsNeg.|..tst.b.|
|00004b60| 33 28 64 69 63 5b 46 50 | 55 3f 5d 29 0d 09 09 62 |3(dic[FP|U?])...b|
|00004b70| 65 71 2e 73 09 6e 6f 46 | 50 55 0d 0d 09 09 6d 6f |eq.s.noF|PU....mo|
|00004b80| 76 65 2e 6c 09 64 32 2c | 61 30 0d 09 09 66 6d 6f |ve.l.d2,|a0...fmo|
|00004b90| 76 65 2e 78 09 28 61 30 | 29 2c 66 70 30 0d 09 09 |ve.x.(a0|),fp0...|
|00004ba0| 6d 6f 76 65 2e 6c 09 28 | 61 36 29 2b 2c 61 30 0d |move.l.(|a6)+,a0.|
|00004bb0| 09 09 6c 65 61 09 09 64 | 69 63 5b 46 50 6f 70 73 |..lea..d|ic[FPops|
|00004bc0| 5d 2c 61 31 0d 09 09 6c | 73 6c 2e 77 09 23 32 2c |],a1...l|sl.w.#2,|
|00004bd0| 64 31 0d 09 09 6a 73 72 | 09 09 30 28 61 31 2c 64 |d1...jsr|..0(a1,d|
|00004be0| 31 2e 77 29 0d 09 09 62 | 73 72 09 09 64 69 63 5b |1.w)...b|sr..dic[|
|00004bf0| 28 66 6c 74 44 69 73 70 | 29 5d 09 09 3b 20 44 6f |(fltDisp|)]..; Do|
|00004c00| 20 46 78 78 78 20 20 28 | 41 30 29 2c 46 50 30 0d | Fxxx (|A0),FP0.|
|00004c10| 09 09 6d 6f 76 65 2e 6c | 09 64 32 2c 61 30 0d 09 |..move.l|.d2,a0..|
|00004c20| 09 66 6d 6f 76 65 2e 78 | 09 66 70 30 2c 28 61 30 |.fmove.x|.fp0,(a0|
|00004c30| 29 0d 09 09 72 74 73 0d | 0d 41 62 73 4e 65 67 09 |)...rts.|.AbsNeg.|
|00004c40| 6d 6f 76 65 2e 6c 09 64 | 32 2c 61 30 09 09 09 09 |move.l.d|2,a0....|
|00004c50| 3b 20 44 6f 65 73 6e 27 | 74 20 63 68 61 6e 67 65 |; Doesn'|t change|
|00004c60| 20 43 43 0d 09 09 62 68 | 69 2e 73 09 4e 65 67 0d | CC...bh|i.s.Neg.|
|00004c70| 09 09 62 63 6c 72 09 23 | 37 2c 28 61 30 29 0d 09 |..bclr.#|7,(a0)..|
|00004c80| 09 72 74 73 0d 0d 4e 65 | 67 09 09 62 63 68 67 09 |.rts..Ne|g..bchg.|
|00004c90| 23 37 2c 28 61 30 29 0d | 09 09 72 74 73 0d 0d 6e |#7,(a0).|..rts..n|
|00004ca0| 6f 46 50 55 09 6d 6f 76 | 65 2e 6c 09 28 61 36 29 |oFPU.mov|e.l.(a6)|
|00004cb0| 2c 61 30 0d 09 09 62 73 | 72 09 09 64 69 63 5b 28 |,a0...bs|r..dic[(|
|00004cc0| 66 6c 74 44 69 73 70 29 | 5d 0d 09 09 6d 6f 76 65 |fltDisp)|]...move|
|00004cd0| 2e 6c 09 28 61 36 29 2c | 61 30 0d 09 09 6d 6f 76 |.l.(a6),|a0...mov|
|00004ce0| 65 2e 77 09 28 61 30 29 | 2b 2c 28 61 30 29 0d 09 |e.w.(a0)|+,(a0)..|
|00004cf0| 09 6d 6f 76 65 2e 6c 09 | 61 30 2c 28 61 36 29 0d |.move.l.|a0,(a6).|
|00004d00| 09 09 6d 6f 76 65 2e 6c | 09 64 32 2c 61 30 0d 09 |..move.l|.d2,a0..|
|00004d10| 09 6d 6f 76 65 2e 77 09 | 28 61 30 29 2b 2c 28 61 |.move.w.|(a0)+,(a|
|00004d20| 30 29 0d 09 09 70 75 73 | 68 2e 6c 09 61 30 0d 09 |0)...pus|h.l.a0..|
|00004d30| 09 70 75 73 68 2e 77 09 | 64 31 0d 09 09 65 78 67 |.push.w.|d1...exg|
|00004d40| 09 09 61 36 2c 61 37 0d | 09 09 63 61 6c 6c 09 70 |..a6,a7.|..call.p|
|00004d50| 61 63 6b 34 0d 09 09 65 | 78 67 09 09 61 36 2c 61 |ack4...e|xg..a6,a|
|00004d60| 37 0d 09 09 6d 6f 76 65 | 2e 6c 09 64 32 2c 61 30 |7...move|.l.d2,a0|
|00004d70| 0d 09 09 6d 6f 76 65 2e | 77 09 32 28 61 30 29 2c |...move.|w.2(a0),|
|00004d80| 28 61 30 29 0d 09 09 63 | 6c 72 2e 77 09 32 28 61 |(a0)...c|lr.w.2(a|
|00004d90| 30 29 0d 3b 63 6f 64 65 | 0d 0d 3a 63 6f 64 65 20 |0).;code|..:code |
|00004da0| 28 54 4f 46 56 41 4c 29 | 0d 09 09 6d 6f 76 65 2e |(TOFVAL)|...move.|
|00004db0| 6c 09 61 31 2c 64 32 0d | 09 09 74 73 74 2e 77 09 |l.a1,d2.|..tst.w.|
|00004dc0| 64 31 0d 09 09 62 70 6c | 09 09 6f 70 72 74 31 0d |d1...bpl|..oprt1.|
|00004dd0| 09 09 70 6f 70 2e 6c 09 | 61 30 0d 09 09 6d 6f 76 |..pop.l.|a0...mov|
|00004de0| 65 6d 2e 6c 09 28 61 30 | 29 2c 64 30 2d 64 32 0d |em.l.(a0|),d0-d2.|
|00004df0| 09 09 6d 6f 76 65 6d 2e | 6c 09 64 30 2d 64 32 2c |..movem.|l.d0-d2,|
|00004e00| 28 61 31 29 0d 09 09 62 | 72 61 09 09 64 69 63 5b |(a1)...b|ra..dic[|
|00004e10| 28 66 6c 74 44 69 73 70 | 29 5d 0d 3b 63 6f 64 65 |(fltDisp|)].;code|
|00004e20| 0d 0d 5c 20 28 4c 46 44 | 49 53 50 29 20 64 69 73 |..\ (LFD|ISP) dis|
|00004e30| 70 6f 73 65 73 20 6f 66 | 20 66 6c 6f 61 74 69 6e |poses of| floatin|
|00004e40| 67 20 6c 6f 63 61 6c 73 | 20 61 6e 64 20 70 61 72 |g locals| and par|
|00004e50| 6d 73 20 61 74 20 74 68 | 65 20 65 6e 64 20 6f 66 |ms at th|e end of|
|00004e60| 20 61 20 64 65 66 69 6e | 69 74 69 6f 6e 2e 0d 5c | a defin|ition..\|
|00004e70| 20 44 32 20 3d 20 46 6c | 74 46 6c 67 2c 20 6d 6f | D2 = Fl|tFlg, mo|
|00004e80| 64 69 66 69 65 64 20 61 | 6e 64 20 73 68 69 66 74 |dified a|nd shift|
|00004e90| 65 64 20 74 6f 20 65 78 | 63 6c 75 64 65 20 61 6e |ed to ex|clude an|
|00004ea0| 79 20 6f 70 65 72 61 6e | 64 73 20 69 6e 20 46 50 |y operan|ds in FP|
|00004eb0| 20 72 65 67 73 2c 20 73 | 6f 0d 5c 20 74 68 61 74 | regs, s|o.\ that|
|00004ec0| 20 74 68 65 20 72 69 67 | 68 74 6d 6f 73 74 20 62 | the rig|htmost b|
|00004ed0| 69 74 20 61 6c 77 61 79 | 73 20 6d 65 61 6e 73 20 |it alway|s means |
|00004ee0| 44 34 2c 20 61 6e 64 20 | 73 6f 20 6f 6e 2e 20 20 |D4, and |so on. |
|00004ef0| 54 68 69 73 20 6c 6f 6e | 67 77 6f 72 64 20 68 61 |This lon|gword ha|
|00004f00| 73 20 61 0d 5c 20 62 69 | 74 20 73 65 74 20 66 6f |s a.\ bi|t set fo|
|00004f10| 72 20 65 76 65 72 79 20 | 6f 70 65 72 61 6e 64 20 |r every |operand |
|00004f20| 77 65 20 6e 65 65 64 20 | 74 6f 20 64 69 73 70 6f |we need |to dispo|
|00004f30| 73 65 2e 0d 0d 3a 63 6f | 64 65 20 28 4c 46 44 49 |se...:co|de (LFDI|
|00004f40| 53 50 29 0d 09 09 6c 6f | 63 0d 09 09 6c 73 72 2e |SP)...lo|c...lsr.|
|00004f50| 6c 09 23 31 2c 64 32 0d | 09 09 62 63 63 2e 73 09 |l.#1,d2.|..bcc.s.|
|00004f60| 63 68 6b 64 35 61 0d 09 | 09 74 73 74 2e 6c 09 64 |chkd5a..|.tst.l.d|
|00004f70| 34 0d 09 09 62 65 71 2e | 73 09 63 68 6b 64 35 0d |4...beq.|s.chkd5.|
|00004f80| 09 09 6d 6f 76 65 2e 6c | 09 64 34 2c 61 30 0d 09 |..move.l|.d4,a0..|
|00004f90| 09 62 73 72 09 09 64 69 | 63 5b 28 66 6c 74 44 69 |.bsr..di|c[(fltDi|
|00004fa0| 73 70 29 5d 0d 0d 63 68 | 6b 64 35 09 74 73 74 2e |sp)]..ch|kd5.tst.|
|00004fb0| 6c 09 64 32 0d 63 68 6b | 64 35 61 09 62 65 71 2e |l.d2.chk|d5a.beq.|
|00004fc0| 73 09 65 6e 64 0d 09 09 | 6c 73 72 2e 6c 09 23 31 |s.end...|lsr.l.#1|
|00004fd0| 2c 64 32 0d 09 09 62 63 | 63 2e 73 09 63 68 6b 64 |,d2...bc|c.s.chkd|
|00004fe0| 36 61 0d 09 09 74 73 74 | 2e 6c 09 64 35 0d 09 09 |6a...tst|.l.d5...|
|00004ff0| 62 65 71 2e 73 09 63 68 | 6b 64 36 0d 09 09 6d 6f |beq.s.ch|kd6...mo|
|00005000| 76 65 2e 6c 09 64 35 2c | 61 30 0d 09 09 62 73 72 |ve.l.d5,|a0...bsr|
|00005010| 09 09 64 69 63 5b 28 66 | 6c 74 44 69 73 70 29 5d |..dic[(f|ltDisp)]|
|00005020| 0d 09 0d 63 68 6b 64 36 | 09 74 73 74 2e 6c 09 64 |...chkd6|.tst.l.d|
|00005030| 32 0d 63 68 6b 64 36 61 | 09 62 65 71 2e 73 09 65 |2.chkd6a|.beq.s.e|
|00005040| 6e 64 0d 09 09 6c 73 72 | 2e 6c 09 23 31 2c 64 32 |nd...lsr|.l.#1,d2|
|00005050| 0d 09 09 62 63 63 2e 73 | 09 63 68 6b 64 37 61 0d |...bcc.s|.chkd7a.|
|00005060| 09 09 74 73 74 2e 6c 09 | 64 36 0d 09 09 62 65 71 |..tst.l.|d6...beq|
|00005070| 2e 73 09 63 68 6b 64 37 | 0d 09 09 6d 6f 76 65 2e |.s.chkd7|...move.|
|00005080| 6c 09 64 36 2c 61 30 0d | 09 09 62 73 72 09 09 64 |l.d6,a0.|..bsr..d|
|00005090| 69 63 5b 28 66 6c 74 44 | 69 73 70 29 5d 0d 0d 63 |ic[(fltD|isp)]..c|
|000050a0| 68 6b 64 37 09 74 73 74 | 2e 6c 09 64 32 0d 63 68 |hkd7.tst|.l.d2.ch|
|000050b0| 6b 64 37 61 09 62 65 71 | 2e 73 09 65 6e 64 0d 09 |kd7a.beq|.s.end..|
|000050c0| 09 6c 73 72 2e 6c 09 23 | 31 2c 64 32 0d 09 09 62 |.lsr.l.#|1,d2...b|
|000050d0| 63 63 2e 73 09 63 68 6b | 58 4c 61 0d 09 09 74 73 |cc.s.chk|XLa...ts|
|000050e0| 74 2e 6c 09 64 37 0d 09 | 09 62 65 71 2e 73 09 63 |t.l.d7..|.beq.s.c|
|000050f0| 68 6b 58 4c 0d 09 09 6d | 6f 76 65 2e 6c 09 64 37 |hkXL...m|ove.l.d7|
|00005100| 2c 61 30 0d 09 09 62 73 | 72 09 09 64 69 63 5b 28 |,a0...bs|r..dic[(|
|00005110| 66 6c 74 44 69 73 70 29 | 5d 0d 0d 63 68 6b 58 4c |fltDisp)|]..chkXL|
|00005120| 09 74 73 74 2e 6c 09 64 | 32 0d 63 68 6b 58 4c 61 |.tst.l.d|2.chkXLa|
|00005130| 09 62 65 71 2e 73 09 65 | 6e 64 0d 09 09 6c 65 61 |.beq.s.e|nd...lea|
|00005140| 09 09 64 69 63 5b 45 78 | 74 72 61 4c 6f 63 61 6c |..dic[Ex|traLocal|
|00005150| 73 5d 2c 61 31 0d 0d 58 | 4c 6c 6f 6f 70 09 6c 73 |s],a1..X|Lloop.ls|
|00005160| 72 2e 6c 09 23 31 2c 64 | 32 0d 09 09 62 63 63 2e |r.l.#1,d|2...bcc.|
|00005170| 73 09 58 4c 6e 78 74 61 | 0d 09 09 74 73 74 2e 6c |s.XLnxta|...tst.l|
|00005180| 09 28 61 31 29 0d 09 09 | 62 65 71 2e 73 09 58 4c |.(a1)...|beq.s.XL|
|00005190| 6e 78 74 0d 09 09 6d 6f | 76 65 2e 6c 09 28 61 31 |nxt...mo|ve.l.(a1|
|000051a0| 29 2c 61 30 0d 09 09 62 | 73 72 09 09 64 69 63 5b |),a0...b|sr..dic[|
|000051b0| 28 66 6c 74 44 69 73 70 | 29 5d 0d 0d 58 4c 6e 78 |(fltDisp|)]..XLnx|
|000051c0| 74 09 74 73 74 2e 6c 09 | 64 32 0d 58 4c 6e 78 74 |t.tst.l.|d2.XLnxt|
|000051d0| 61 09 62 65 71 2e 73 09 | 65 6e 64 0d 09 09 61 64 |a.beq.s.|end...ad|
|000051e0| 64 71 2e 6c 09 23 34 2c | 61 31 0d 09 09 62 72 61 |dq.l.#4,|a1...bra|
|000051f0| 2e 73 09 58 4c 6c 6f 6f | 70 0d 65 6e 64 0d 3b 63 |.s.XLloo|p.end.;c|
|00005200| 6f 64 65 0d 0d 5c 09 09 | 09 3d 3d 3d 3d 3d 3d 3d |ode..\..|.=======|
|00005210| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005220| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 0d 0d 5c |========|=====..\|
|00005230| 09 09 09 09 09 46 76 61 | 6c 75 65 73 20 61 6e 64 |.....Fva|lues and|
|00005240| 20 46 63 6f 6e 73 0d 0d | 5c 09 09 09 3d 3d 3d 3d | Fcons..|\...====|
|00005250| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005260| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005270| 0d 0d 5c 20 49 6e 20 4d | 6f 70 73 2c 20 77 65 20 |..\ In M|ops, we |
|00005280| 68 61 6e 64 6c 65 20 46 | 76 61 6c 75 65 73 20 61 |handle F|values a|
|00005290| 6e 64 20 46 63 6f 6e 73 | 20 61 6c 6f 6e 67 20 74 |nd Fcons| along t|
|000052a0| 68 65 20 73 61 6d 65 20 | 6c 69 6e 65 73 20 61 73 |he same |lines as|
|000052b0| 20 66 6c 6f 61 74 69 6e | 67 0d 5c 20 6c 6f 63 61 | floatin|g.\ loca|
|000052c0| 6c 73 20 28 77 68 69 63 | 68 20 69 73 20 6c 6f 67 |ls (whic|h is log|
|000052d0| 69 63 61 6c 29 2e 20 20 | 54 68 75 73 2c 20 74 6f |ical). |Thus, to|
|000052e0| 20 66 65 74 63 68 20 61 | 6e 20 46 76 61 6c 75 65 | fetch a|n Fvalue|
|000052f0| 2f 46 63 6f 6e 73 74 61 | 6e 74 2c 20 77 65 20 63 |/Fconsta|nt, we c|
|00005300| 6f 6d 70 69 6c 65 0d 5c | 0d 5c 09 6c 65 61 09 09 |ompile.\|.\.lea..|
|00005310| 3c 61 64 64 72 3e 2c 61 | 31 0d 5c 09 6a 73 72 09 |<addr>,a|1.\.jsr.|
|00005320| 09 4c 66 6c 6f 61 74 0d | 5c 0d 5c 20 61 6e 64 20 |.Lfloat.|\.\ and |
|00005330| 74 6f 20 73 74 6f 72 65 | 20 6f 72 20 77 68 61 74 |to store| or what|
|00005340| 65 76 65 72 20 74 6f 20 | 61 20 66 6c 6f 61 74 69 |ever to |a floati|
|00005350| 6e 67 20 56 61 6c 75 65 | 2c 20 77 65 20 63 6f 6d |ng Value|, we com|
|00005360| 70 69 6c 65 0d 5c 0d 5c | 09 6c 65 61 09 09 3c 61 |pile.\.\|.lea..<a|
|00005370| 64 64 72 3e 2c 61 31 0d | 5c 09 6d 6f 76 65 2e 77 |ddr>,a1.|\.move.w|
|00005380| 09 23 3c 6f 70 63 6f 64 | 65 3e 2c 64 31 0d 5c 09 |.#<opcod|e>,d1.\.|
|00005390| 6a 73 72 09 09 54 6f 46 | 76 61 6c 0d 5c 0d 5c 20 |jsr..ToF|val.\.\ |
|000053a0| 41 73 20 75 73 75 61 6c | 2c 20 48 61 6e 64 6c 65 |As usual|, Handle|
|000053b0| 72 73 20 74 61 6b 65 73 | 20 63 61 72 65 20 6f 66 |rs takes| care of|
|000053c0| 20 74 68 69 73 20 66 6f | 72 20 75 73 2e 20 20 48 | this fo|r us. H|
|000053d0| 65 72 65 2c 20 77 65 20 | 6a 75 73 74 20 68 61 76 |ere, we |just hav|
|000053e0| 65 20 74 6f 20 6d 61 6b | 65 0d 5c 20 73 75 72 65 |e to mak|e.\ sure|
|000053f0| 20 74 68 61 74 20 46 76 | 61 6c 75 65 73 20 61 6e | that Fv|alues an|
|00005400| 64 20 46 63 6f 6e 73 20 | 67 65 74 20 74 68 65 20 |d Fcons |get the |
|00005410| 72 69 67 68 74 20 68 61 | 6e 64 6c 65 72 20 63 6f |right ha|ndler co|
|00005420| 64 65 2e 20 20 57 65 20 | 61 6c 73 6f 20 70 75 74 |de. We |also put|
|00005430| 20 61 0d 5c 20 22 31 22 | 20 77 6f 72 64 20 69 6e | a.\ "1"| word in|
|00005440| 20 66 72 6f 6e 74 20 6f | 66 20 74 68 65 20 66 6c | front o|f the fl|
|00005450| 6f 61 74 2c 20 73 6f 20 | 74 68 61 74 20 4c 66 6c |oat, so |that Lfl|
|00005460| 6f 61 74 20 61 6e 64 20 | 54 6f 4c 66 6c 6f 61 74 |oat and |ToLfloat|
|00005470| 20 77 6f 6e 27 74 20 74 | 68 69 6e 6b 0d 5c 20 69 | won't t|hink.\ i|
|00005480| 74 27 73 20 61 6e 20 65 | 72 72 6f 72 2e 20 20 54 |t's an e|rror. T|
|00005490| 68 65 79 20 68 61 6e 64 | 6c 65 20 66 6c 6f 61 74 |hey hand|le float|
|000054a0| 69 6e 67 20 6e 61 6d 65 | 64 20 70 61 72 61 6d 65 |ing name|d parame|
|000054b0| 74 65 72 73 20 61 73 20 | 77 65 6c 6c 2c 20 73 6f |ters as |well, so|
|000054c0| 20 74 68 65 79 20 64 6f | 0d 5c 20 6e 65 65 64 20 | they do|.\ need |
|000054d0| 74 6f 20 63 68 65 63 6b | 2e 0d 0d 5c 20 41 6e 20 |to check|...\ An |
|000054e0| 46 43 52 63 6f 6e 20 69 | 73 20 65 73 73 65 6e 74 |FCRcon i|s essent|
|000054f0| 69 61 6c 6c 79 20 61 6e | 20 46 63 6f 6e 2c 20 62 |ially an| Fcon, b|
|00005500| 75 74 20 69 73 20 75 73 | 65 64 20 66 6f 72 20 63 |ut is us|ed for c|
|00005510| 6f 6e 73 74 61 6e 74 73 | 20 74 68 61 74 20 61 72 |onstants| that ar|
|00005520| 65 20 69 6e 0d 5c 20 74 | 68 65 20 36 38 38 38 31 |e in.\ t|he 68881|
|00005530| 2f 32 20 52 4f 4d 2e 20 | 20 49 66 20 77 65 27 72 |/2 ROM. | If we'r|
|00005540| 65 20 63 6f 6d 70 69 6c | 69 6e 67 20 46 50 55 20 |e compil|ing FPU |
|00005550| 63 6f 64 65 20 77 65 20 | 75 73 65 20 74 68 65 20 |code we |use the |
|00005560| 52 4f 4d 20 76 65 72 73 | 69 6f 6e 20 77 68 69 63 |ROM vers|ion whic|
|00005570| 68 0d 5c 20 69 73 20 61 | 20 6c 6f 74 20 66 61 73 |h.\ is a| lot fas|
|00005580| 74 65 72 2e 20 20 42 75 | 74 20 74 68 65 20 66 6c |ter. Bu|t the fl|
|00005590| 6f 61 74 69 6e 67 20 76 | 61 6c 75 65 20 69 73 20 |oating v|alue is |
|000055a0| 73 74 6f 72 65 64 20 69 | 6e 20 74 68 65 20 64 69 |stored i|n the di|
|000055b0| 63 20 61 73 20 66 6f 72 | 20 61 6e 0d 5c 20 46 63 |c as for| an.\ Fc|
|000055c0| 6f 6e 20 61 73 20 77 65 | 6c 6c 20 69 6e 20 63 61 |on as we|ll in ca|
|000055d0| 73 65 20 74 68 65 72 65 | 27 73 20 6e 6f 20 46 50 |se there|'s no FP|
|000055e0| 55 2e 0d 0d 3a 20 46 4c | 49 54 2c 09 09 5c 20 28 |U...: FL|IT,..\ (|
|000055f0| 20 66 6c 74 20 2d 2d 20 | 29 0d 09 09 09 5c 20 57 | flt -- |)....\ W|
|00005600| 72 69 74 65 73 20 61 20 | 66 6c 6f 61 74 20 69 6e |rites a |float in|
|00005610| 74 6f 20 64 69 63 74 69 | 6f 6e 61 72 79 3a 20 61 |to dicti|onary: a|
|00005620| 6e 61 6c 6f 67 6f 75 73 | 20 74 6f 20 2c 20 6f 72 |nalogous| to , or|
|00005630| 20 63 2c 0d 09 09 09 5c | 20 57 65 20 6f 6d 69 74 | c,....\| We omit|
|00005640| 20 74 68 65 20 32 20 75 | 6e 75 73 65 64 20 62 79 | the 2 u|nused by|
|00005650| 74 65 73 2e 20 20 49 66 | 20 77 65 27 72 65 20 63 |tes. If| we're c|
|00005660| 6f 6d 70 69 6c 69 6e 67 | 20 46 50 55 20 63 6f 64 |ompiling| FPU cod|
|00005670| 65 2c 0d 09 09 09 5c 20 | 77 65 20 63 61 6c 6c 20 |e,....\ |we call |
|00005680| 43 6f 6d 70 46 50 55 4c | 20 69 6e 73 74 65 61 64 |CompFPUL| instead|
|00005690| 20 6f 66 20 63 6f 6d 69 | 6e 67 20 68 65 72 65 2e | of comi|ng here.|
|000056a0| 0d 09 64 75 70 20 77 40 | 20 20 68 65 72 65 20 77 |..dup w@| here w|
|000056b0| 21 20 20 32 20 61 6c 6c | 6f 74 0d 09 64 75 70 20 |! 2 all|ot..dup |
|000056c0| 34 2b 20 68 65 72 65 20 | 38 20 63 6d 6f 76 65 20 |4+ here |8 cmove |
|000056d0| 20 38 20 61 6c 6c 6f 74 | 20 20 66 64 72 6f 70 20 | 8 allot| fdrop |
|000056e0| 20 3b 0d 0d 3a 20 46 43 | 4f 4e 2c 09 09 5c 20 28 | ;..: FC|ON,..\ (|
|000056f0| 20 66 6c 74 20 2d 2d 20 | 29 0d 09 09 09 5c 20 41 | flt -- |)....\ A|
|00005700| 73 20 66 6f 72 20 46 4c | 49 54 2c 20 62 75 74 20 |s for FL|IT, but |
|00005710| 77 65 20 69 6e 63 6c 75 | 64 65 20 74 68 65 20 32 |we inclu|de the 2|
|00005720| 20 75 6e 75 73 65 64 20 | 62 79 74 65 73 2e 20 20 | unused |bytes. |
|00005730| 57 65 20 68 61 6e 64 6c | 65 0d 09 09 09 5c 20 46 |We handl|e....\ F|
|00005740| 43 4f 4e 73 20 61 6e 64 | 20 46 56 41 4c 73 20 74 |CONs and| FVALs t|
|00005750| 68 69 73 20 77 61 79 2c | 20 73 69 6e 63 65 20 74 |his way,| since t|
|00005760| 68 65 79 20 61 72 65 20 | 6f 70 65 72 61 74 65 64 |hey are |operated|
|00005770| 20 6f 6e 20 62 79 20 74 | 68 65 0d 09 09 09 5c 20 | on by t|he....\ |
|00005780| 73 61 6d 65 20 63 6f 64 | 65 20 61 73 20 66 6f 72 |same cod|e as for|
|00005790| 20 66 6c 6f 61 74 69 6e | 67 20 6c 6f 63 61 6c 73 | floatin|g locals|
|000057a0| 2e 0d 09 64 75 70 20 68 | 65 72 65 20 31 32 20 63 |...dup h|ere 12 c|
|000057b0| 6d 6f 76 65 20 20 31 32 | 20 61 6c 6c 6f 74 20 20 |move 12| allot |
|000057c0| 66 64 72 6f 70 20 20 3b | 0d 0d 3a 20 46 56 41 4c |fdrop ;|..: FVAL|
|000057d0| 55 45 0d 09 68 65 61 64 | 65 72 0d 09 46 76 61 6c |UE..head|er..Fval|
|000057e0| 43 6f 64 65 20 77 2c 09 | 09 09 5c 20 48 61 6e 64 |Code w,.|..\ Hand|
|000057f0| 6c 65 72 20 63 6f 64 65 | 0d 09 31 20 77 2c 20 20 |ler code|..1 w, |
|00005800| 66 63 6f 6e 2c 20 20 3b | 0d 0d 3a 20 46 43 4f 4e |fcon, ;|..: FCON|
|00005810| 0d 09 68 65 61 64 65 72 | 0d 09 2d 37 36 20 77 2c |..header|..-76 w,|
|00005820| 09 09 09 09 5c 20 46 63 | 6f 6e 20 68 61 6e 64 6c |....\ Fc|on handl|
|00005830| 65 72 20 63 6f 64 65 0d | 09 31 20 77 2c 20 20 66 |er code.|.1 w, f|
|00005840| 63 6f 6e 2c 20 20 3b 0d | 0d 3a 20 46 43 52 43 4f |con, ;.|.: FCRCO|
|00005850| 4e 09 5c 20 28 20 6f 66 | 66 73 20 2d 2d 20 29 0d |N.\ ( of|fs -- ).|
|00005860| 09 68 65 61 64 65 72 0d | 09 2d 38 38 20 77 2c 09 |.header.|.-88 w,.|
|00005870| 09 09 09 5c 20 46 43 52 | 63 6f 6e 20 68 61 6e 64 |...\ FCR|con hand|
|00005880| 6c 65 72 20 63 6f 64 65 | 0d 09 77 2c 09 09 09 09 |ler code|..w,....|
|00005890| 09 5c 20 52 4f 4d 20 6f | 66 66 73 65 74 0d 09 31 |.\ ROM o|ffset..1|
|000058a0| 20 77 2c 20 20 66 63 6f | 6e 2c 20 20 3b 0d 0d 68 | w, fco|n, ;..h|
|000058b0| 65 61 64 65 72 20 20 46 | 40 0d 09 2d 31 30 30 20 |eader F|@..-100 |
|000058c0| 77 2c 09 09 09 09 5c 20 | 68 61 6e 64 6c 65 72 20 |w,....\ |handler |
|000058d0| 63 6f 64 65 0d 09 78 69 | 6e 66 6f 4d 6b 20 77 2c |code..xi|nfoMk w,|
|000058e0| 09 09 09 5c 20 22 65 78 | 74 72 61 20 6e 6f 6e 2d |...\ "ex|tra non-|
|000058f0| 63 6f 64 65 20 69 6e 66 | 6f 22 20 6f 66 20 7a 65 |code inf|o" of ze|
|00005900| 72 6f 20 6c 65 6e 67 74 | 68 20 6d 65 61 6e 73 0d |ro lengt|h means.|
|00005910| 09 30 20 77 2c 09 09 09 | 09 5c 20 20 63 6f 6d 70 |.0 w,...|.\ comp|
|00005920| 69 6c 61 74 69 6f 6e 20 | 6f 6e 6c 79 0d 0d 0d 68 |ilation |only...h|
|00005930| 65 61 64 65 72 20 20 46 | 21 0d 09 2d 31 30 32 20 |eader F|!..-102 |
|00005940| 77 2c 09 09 09 09 5c 20 | 68 61 6e 64 6c 65 72 20 |w,....\ |handler |
|00005950| 63 6f 64 65 0d 09 78 69 | 6e 66 6f 4d 6b 20 77 2c |code..xi|nfoMk w,|
|00005960| 09 09 09 5c 20 22 65 78 | 74 72 61 20 6e 6f 6e 2d |...\ "ex|tra non-|
|00005970| 63 6f 64 65 20 69 6e 66 | 6f 22 20 6f 66 20 7a 65 |code inf|o" of ze|
|00005980| 72 6f 20 6c 65 6e 67 74 | 68 20 6d 65 61 6e 73 0d |ro lengt|h means.|
|00005990| 09 30 20 77 2c 09 09 09 | 09 5c 20 20 63 6f 6d 70 |.0 w,...|.\ comp|
|000059a0| 69 6c 61 74 69 6f 6e 20 | 6f 6e 6c 79 0d 0d 0d 5c |ilation |only...\|
|000059b0| 09 09 09 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |...=====|========|
|000059c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000059d0| 3d 3d 3d 3d 3d 3d 3d 3d | 0d 5c 09 09 20 20 20 09 |========|.\.. .|
|000059e0| 09 46 50 20 74 6f 2f 66 | 72 6f 6d 20 64 65 63 69 |.FP to/f|rom deci|
|000059f0| 6d 61 6c 20 63 6f 6e 76 | 65 72 73 69 6f 6e 0d 5c |mal conv|ersion.\|
|00005a00| 09 09 09 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |...=====|========|
|00005a10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005a20| 3d 3d 3d 3d 3d 3d 3d 3d | 0d 0d 5c 20 53 6f 6d 65 |========|..\ Some|
|00005a30| 20 75 73 65 66 75 6c 20 | 63 6f 6e 73 74 61 6e 74 | useful |constant|
|00005a40| 73 3a 0d 0d 20 32 35 36 | 09 63 6f 6e 73 74 61 6e |s:.. 256|.constan|
|00005a50| 74 09 4e 45 47 0d 20 20 | 20 30 09 63 6f 6e 73 74 |t.NEG. | 0.const|
|00005a60| 61 6e 74 09 50 4f 53 0d | 0d 20 32 35 36 09 63 6f |ant.POS.|. 256.co|
|00005a70| 6e 73 74 61 6e 74 09 46 | 69 78 65 64 44 65 63 69 |nstant.F|ixedDeci|
|00005a80| 6d 61 6c 0d 20 20 20 30 | 09 63 6f 6e 73 74 61 6e |mal. 0|.constan|
|00005a90| 74 09 46 6c 6f 61 74 44 | 65 63 69 6d 61 6c 0d 0d |t.FloatD|ecimal..|
|00005aa0| 66 61 6c 73 65 09 76 61 | 6c 75 65 09 09 56 41 4c |false.va|lue..VAL|
|00005ab0| 49 44 3f 09 5c 20 4e 65 | 65 64 65 64 20 62 79 20 |ID?.\ Ne|eded by |
|00005ac0| 74 68 65 20 73 63 61 6e | 6e 65 72 2e 20 20 42 75 |the scan|ner. Bu|
|00005ad0| 74 20 77 65 20 6e 65 76 | 65 72 0d 09 09 09 09 09 |t we nev|er......|
|00005ae0| 5c 20 20 75 73 65 20 69 | 74 20 6f 74 68 65 72 77 |\ use i|t otherw|
|00005af0| 69 73 65 2e 0d 0d 3a 63 | 6f 64 65 20 46 50 3e 09 |ise...:c|ode FP>.|
|00005b00| 09 5c 20 28 20 66 6c 74 | 20 2d 2d 20 66 6c 74 20 |.\ ( flt| -- flt |
|00005b10| 29 0d 09 09 6d 6f 76 65 | 2e 6c 09 28 61 36 29 2c |)...move|.l.(a6),|
|00005b20| 61 30 0d 09 09 63 6d 70 | 69 2e 77 09 23 31 2c 2d |a0...cmp|i.w.#1,-|
|00005b30| 32 28 61 30 29 0d 09 09 | 62 6e 65 09 09 64 69 63 |2(a0)...|bne..dic|
|00005b40| 5b 6e 6f 46 6c 6f 61 74 | 5d 0d 09 09 6d 6f 76 65 |[noFloat|]...move|
|00005b50| 2e 77 09 28 61 30 29 2b | 2c 28 61 30 29 0d 3b 63 |.w.(a0)+|,(a0).;c|
|00005b60| 6f 64 65 0d 0d 0d 3a 63 | 6c 61 73 73 20 20 44 45 |ode...:c|lass DE|
|00005b70| 43 09 73 75 70 65 72 7b | 20 6f 62 6a 65 63 74 20 |C.super{| object |
|00005b80| 7d 0d 0d 20 20 5c 20 53 | 41 4e 45 20 52 65 63 6f |}.. \ S|ANE Reco|
|00005b90| 72 64 20 44 65 63 69 6d | 61 6c 20 28 20 78 20 3d |rd Decim|al ( x =|
|00005ba0| 20 28 2d 31 29 5e 73 69 | 67 6e 20 2a 20 31 30 5e | (-1)^si|gn * 10^|
|00005bb0| 65 78 70 20 2a 20 64 69 | 67 69 74 73 20 29 0d 0d |exp * di|gits )..|
|00005bc0| 09 69 6e 74 09 09 53 49 | 47 4e 0d 09 69 6e 74 09 |.int..SI|GN..int.|
|00005bd0| 09 45 58 50 0d 32 32 09 | 62 79 74 65 73 09 44 49 |.EXP.22.|bytes.DI|
|00005be0| 47 49 54 53 09 09 5c 20 | 74 6f 20 66 61 6b 65 20 |GITS..\ |to fake |
|00005bf0| 73 74 72 69 6e 67 5b 32 | 30 5d 20 3b 20 32 32 20 |string[2|0] ; 22 |
|00005c00| 74 6f 20 6d 61 6b 65 20 | 65 76 65 6e 0d 0d 20 20 |to make |even.. |
|00005c10| 20 20 09 69 6e 74 09 49 | 4e 44 45 58 09 09 5c 20 | .int.I|NDEX..\ |
|00005c20| 55 73 65 64 20 62 79 20 | 74 68 65 20 73 63 61 6e |Used by |the scan|
|00005c30| 6e 65 72 2e 0d 0d 20 20 | 5c 20 53 41 4e 45 20 52 |ner... |\ SANE R|
|00005c40| 65 63 6f 72 64 20 44 65 | 63 46 6f 72 6d 0d 0d 09 |ecord De|cForm...|
|00005c50| 69 6e 74 09 09 53 54 59 | 4c 45 0d 09 69 6e 74 09 |int..STY|LE..int.|
|00005c60| 09 23 44 49 47 49 54 53 | 09 09 5c 20 23 20 6f 66 |.#DIGITS|..\ # of|
|00005c70| 20 73 69 67 20 64 69 67 | 69 74 73 2c 69 66 20 66 | sig dig|its,if f|
|00005c80| 6c 6f 61 74 3b 0d 09 09 | 09 09 09 09 5c 20 23 20 |loat;...|....\ # |
|00005c90| 64 65 63 2e 20 70 6c 61 | 63 65 73 2c 69 66 20 66 |dec. pla|ces,if f|
|00005ca0| 69 78 65 64 2e 0d 3a 6d | 20 43 4c 45 41 52 3a 0d |ixed..:m| CLEAR:.|
|00005cb0| 09 61 64 64 72 3a 20 73 | 69 67 6e 20 32 36 20 65 |.addr: s|ign 26 e|
|00005cc0| 72 61 73 65 20 20 3b 6d | 0d 0d 3a 6d 20 45 49 4e |rase ;m|..:m EIN|
|00005cd0| 49 54 3a 09 63 6c 65 61 | 72 3a 20 73 65 6c 66 20 |IT:.clea|r: self |
|00005ce0| 20 46 6c 6f 61 74 44 65 | 63 69 6d 61 6c 20 20 70 | FloatDe|cimal p|
|00005cf0| 75 74 3a 20 73 74 79 6c | 65 20 20 31 39 20 20 70 |ut: styl|e 19 p|
|00005d00| 75 74 3a 20 23 64 69 67 | 69 74 73 20 20 3b 6d 0d |ut: #dig|its ;m.|
|00005d10| 3a 6d 20 46 49 4e 49 54 | 3a 09 63 6c 65 61 72 3a |:m FINIT|:.clear:|
|00005d20| 20 73 65 6c 66 20 20 46 | 69 78 65 64 44 65 63 69 | self F|ixedDeci|
|00005d30| 6d 61 6c 20 20 70 75 74 | 3a 20 73 74 79 6c 65 20 |mal put|: style |
|00005d40| 20 3b 6d 0d 0d 3a 6d 20 | 53 45 54 53 54 59 4c 45 | ;m..:m |SETSTYLE|
|00005d50| 3a 09 70 75 74 3a 20 73 | 74 79 6c 65 09 3b 6d 0d |:.put: s|tyle.;m.|
|00005d60| 3a 6d 20 53 45 54 23 44 | 49 47 49 54 53 3a 09 70 |:m SET#D|IGITS:.p|
|00005d70| 75 74 3a 20 23 64 69 67 | 69 74 73 09 3b 6d 0d 3a |ut: #dig|its.;m.:|
|00005d80| 6d 20 53 45 54 45 58 50 | 3a 09 09 70 75 74 3a 20 |m SETEXP|:..put: |
|00005d90| 65 78 70 09 3b 6d 0d 3a | 6d 20 45 58 50 3a 09 09 |exp.;m.:|m EXP:..|
|00005da0| 09 67 65 74 3a 20 65 78 | 70 09 3b 6d 0d 3a 6d 20 |.get: ex|p.;m.:m |
|00005db0| 53 49 47 4e 3a 09 09 67 | 65 74 3a 20 73 69 67 6e |SIGN:..g|et: sign|
|00005dc0| 09 3b 6d 0d 0d 3a 6d 20 | 5a 45 52 4f 3a 09 09 5c |.;m..:m |ZERO:..\|
|00005dd0| 20 50 75 74 73 20 61 20 | 7a 65 72 6f 20 69 6e 20 | Puts a |zero in |
|00005de0| 64 65 63 69 6d 61 6c 20 | 72 65 63 6f 72 64 0d 09 |decimal |record..|
|00005df0| 63 6c 65 61 72 3a 20 73 | 65 6c 66 20 20 24 20 30 |clear: s|elf $ 0|
|00005e00| 31 33 30 20 20 61 64 64 | 72 3a 20 23 64 69 67 69 |130 add|r: #digi|
|00005e10| 74 73 20 20 77 21 20 20 | 3b 6d 0d 0d 3a 6d 20 3e |ts w! |;m..:m >|
|00005e20| 46 4c 4f 41 54 3a 20 20 | 7b 20 5c 20 66 6c 74 20 |FLOAT: |{ \ flt |
|00005e30| 20 2d 2d 20 66 6c 74 20 | 7d 0d 20 20 20 20 20 20 | -- flt |}. |
|00005e40| 20 20 5e 62 61 73 65 09 | 09 09 09 09 09 5c 20 41 | ^base.|.....\ A|
|00005e50| 64 64 72 20 6f 66 20 64 | 65 63 69 6d 61 6c 20 72 |ddr of d|ecimal r|
|00005e60| 65 63 6f 72 64 0d 20 20 | 20 20 20 20 20 20 6e 65 |ecord. | ne|
|00005e70| 77 3a 20 66 6c 74 4d 65 | 6d 20 2d 3e 20 66 6c 74 |w: fltMe|m -> flt|
|00005e80| 20 20 66 6c 74 20 32 2b | 09 5c 20 44 65 73 74 69 | flt 2+|.\ Desti|
|00005e90| 6e 61 74 69 6f 6e 20 61 | 64 64 72 65 73 73 0d 20 |nation a|ddress. |
|00005ea0| 20 20 20 20 20 20 20 24 | 20 30 30 30 39 09 09 09 | $| 0009...|
|00005eb0| 09 09 09 5c 20 46 46 45 | 58 54 20 46 4f 44 32 42 |...\ FFE|XT FOD2B|
|00005ec0| 20 2b 20 2d 2d 20 4f 70 | 63 6f 64 65 20 66 6f 72 | + -- Op|code for|
|00005ed0| 20 64 65 63 69 6d 61 6c | 20 74 6f 0d 09 09 09 09 | decimal| to.....|
|00005ee0| 09 09 09 09 09 5c 09 09 | 20 20 20 62 69 6e 61 72 |.....\..| binar|
|00005ef0| 79 3b 20 64 65 73 74 3d | 65 78 74 65 6e 64 65 64 |y; dest=|extended|
|00005f00| 0d 20 20 20 20 20 20 20 | 20 66 70 36 38 6b 20 20 |. | fp68k |
|00005f10| 66 6c 74 20 61 64 6a 75 | 73 74 5f 72 65 73 75 6c |flt adju|st_resul|
|00005f20| 74 0d 3b 6d 0d 0d 5c 20 | 3d 3e 3a 20 63 6f 6e 76 |t.;m..\ |=>: conv|
|00005f30| 65 72 74 73 20 74 68 65 | 20 70 61 73 73 65 64 2d |erts the| passed-|
|00005f40| 69 6e 20 66 6c 6f 61 74 | 20 74 6f 20 64 65 63 69 |in float| to deci|
|00005f50| 6d 61 6c 2e 0d 0d 3a 6d | 20 3d 3e 3a 20 20 7b 20 |mal...:m| =>: { |
|00005f60| 66 6c 74 20 2d 2d 20 7d | 0d 09 61 64 64 72 3a 20 |flt -- }|..addr: |
|00005f70| 73 74 79 6c 65 09 09 09 | 09 09 09 5c 20 41 64 64 |style...|...\ Add|
|00005f80| 72 20 6f 66 20 64 65 63 | 66 6f 72 6d 20 72 65 63 |r of dec|form rec|
|00005f90| 6f 72 64 0d 09 66 6c 74 | 20 46 50 3e 20 32 2b 09 |ord..flt| FP> 2+.|
|00005fa0| 09 09 09 09 09 5c 20 41 | 64 64 72 20 6f 66 20 73 |.....\ A|ddr of s|
|00005fb0| 6f 75 72 63 65 0d 09 5e | 62 61 73 65 09 09 09 09 |ource..^|base....|
|00005fc0| 09 09 09 5c 20 41 64 64 | 72 20 6f 66 20 64 65 63 |...\ Add|r of dec|
|00005fd0| 69 6d 61 6c 20 72 65 63 | 6f 72 64 0d 09 24 20 30 |imal rec|ord..$ 0|
|00005fe0| 30 30 42 09 09 09 09 09 | 09 09 5c 20 46 46 45 58 |00B.....|..\ FFEX|
|00005ff0| 54 20 46 4f 42 32 44 20 | 2b 20 2d 2d 20 4f 70 63 |T FOB2D |+ -- Opc|
|00006000| 6f 64 65 20 66 6f 72 20 | 62 69 6e 61 72 79 20 74 |ode for |binary t|
|00006010| 6f 0d 09 09 09 09 09 09 | 09 09 09 5c 09 09 20 20 |o.......|...\.. |
|00006020| 20 09 09 64 65 63 69 6d | 61 6c 3b 20 73 6f 75 72 | ..decim|al; sour|
|00006030| 63 65 3d 65 78 74 65 6e | 64 65 64 0d 09 66 70 36 |ce=exten|ded..fp6|
|00006040| 38 6b 20 20 66 6c 74 20 | 66 64 72 6f 70 20 20 3b |8k flt |fdrop ;|
|00006050| 6d 09 09 09 5c 20 43 61 | 6c 6c 20 53 41 4e 45 2c |m...\ Ca|ll SANE,|
|00006060| 20 64 69 73 70 6f 73 65 | 20 6f 66 20 66 6c 6f 61 | dispose| of floa|
|00006070| 74 0d 0d 5c 20 41 73 63 | 69 69 20 69 6e 70 75 74 |t..\ Asc|ii input|
|00006080| 0d 0d 3a 6d 20 53 43 41 | 4e 3a 09 5c 20 28 20 61 |..:m SCA|N:.\ ( a|
|00006090| 64 64 72 20 6c 65 6e 20 | 2d 2d 20 29 0d 09 73 74 |ddr len |-- )..st|
|000060a0| 72 32 35 35 20 20 31 2b | 0d 09 63 6c 65 61 72 3a |r255 1+|..clear:|
|000060b0| 20 69 6e 64 65 78 20 20 | 61 64 64 72 3a 20 69 6e | index |addr: in|
|000060c0| 64 65 78 0d 09 5e 62 61 | 73 65 20 20 5b 27 5d 20 |dex..^ba|se ['] |
|000060d0| 76 61 6c 69 64 3f 20 33 | 2b 20 20 77 20 32 20 20 |valid? 3|+ w 2 |
|000060e0| 63 61 6c 6c 20 50 61 63 | 6b 37 20 20 3b 6d 0d 0d |call Pac|k7 ;m..|
|000060f0| 3a 6d 20 43 4f 4e 56 3f | 3a 20 20 7b 20 61 64 64 |:m CONV?|: { add|
|00006100| 72 20 6c 65 6e 20 2d 2d | 20 62 20 7d 0d 09 09 5c |r len --| b }...\|
|00006110| 20 41 74 74 65 6d 70 74 | 73 20 74 6f 20 63 6f 6e | Attempt|s to con|
|00006120| 76 65 72 74 20 74 68 65 | 20 70 61 73 73 65 64 2d |vert the| passed-|
|00006130| 69 6e 20 73 74 72 69 6e | 67 2c 20 75 73 69 6e 67 |in strin|g, using|
|00006140| 20 53 43 41 4e 3a 2e 0d | 09 09 5c 20 52 65 74 75 | SCAN:..|..\ Retu|
|00006150| 72 6e 73 20 54 72 75 65 | 20 69 66 20 61 6c 6c 20 |rns True| if all |
|00006160| 74 68 65 20 69 6e 70 75 | 74 20 77 61 73 20 72 65 |the inpu|t was re|
|00006170| 61 64 2e 20 20 4f 74 68 | 65 72 77 69 73 65 0d 09 |ad. Oth|erwise..|
|00006180| 09 5c 20 77 65 20 61 73 | 73 75 6d 65 20 74 68 65 |.\ we as|sume the|
|00006190| 20 74 65 72 6d 69 6e 61 | 74 69 6e 67 20 28 6e 6f | termina|ting (no|
|000061a0| 6e 2d 73 63 61 6e 6e 65 | 64 29 20 63 68 61 72 61 |n-scanne|d) chara|
|000061b0| 63 74 65 72 20 69 73 0d | 09 09 5c 20 69 6e 76 61 |cter is.|..\ inva|
|000061c0| 6c 69 64 2c 20 61 6e 64 | 20 72 65 74 75 72 6e 20 |lid, and| return |
|000061d0| 46 61 6c 73 65 2e 0d 09 | 61 64 64 72 20 6c 65 6e |False...|addr len|
|000061e0| 20 20 73 63 61 6e 3a 20 | 73 65 6c 66 0d 09 67 65 | scan: |self..ge|
|000061f0| 74 3a 20 69 6e 64 65 78 | 20 20 6c 65 6e 20 20 3d |t: index| len =|
|00006200| 20 20 3b 6d 0d 0d 5c 20 | 41 73 63 69 69 20 6f 75 | ;m..\ |Ascii ou|
|00006210| 74 70 75 74 0d 0d 3a 6d | 20 46 4f 52 4d 41 54 3a |tput..:m| FORMAT:|
|00006220| 09 5c 20 28 20 2d 2d 20 | 61 64 64 72 20 6c 65 6e |.\ ( -- |addr len|
|00006230| 20 29 0d 09 61 64 64 72 | 3a 20 73 74 79 6c 65 20 | )..addr|: style |
|00006240| 20 5e 62 61 73 65 20 20 | 70 61 64 20 20 77 20 33 | ^base |pad w 3|
|00006250| 20 20 63 61 6c 6c 20 50 | 61 63 6b 37 0d 09 70 61 | call P|ack7..pa|
|00006260| 64 20 63 6f 75 6e 74 20 | 20 3b 6d 0d 0d 3a 6d 20 |d count | ;m..:m |
|00006270| 50 52 49 4e 54 3a 0d 09 | 66 6f 72 6d 61 74 3a 20 |PRINT:..|format: |
|00006280| 73 65 6c 66 20 20 74 79 | 70 65 20 20 3b 6d 0d 0d |self ty|pe ;m..|
|00006290| 3a 6d 20 44 55 4d 50 3a | 0d 09 2e 22 20 73 69 67 |:m DUMP:|..." sig|
|000062a0| 6e 3a 20 20 20 20 22 09 | 67 65 74 3a 20 73 69 67 |n: ".|get: sig|
|000062b0| 6e 20 20 49 46 20 20 26 | 20 2d 20 20 45 4c 53 45 |n IF &| - ELSE|
|000062c0| 20 20 26 20 2b 20 20 54 | 48 45 4e 20 20 65 6d 69 | & + T|HEN emi|
|000062d0| 74 20 20 63 72 0d 09 2e | 22 20 65 78 70 3a 20 20 |t cr...|" exp: |
|000062e0| 20 20 20 22 09 67 65 74 | 3a 20 65 78 70 20 20 2e | ".get|: exp .|
|000062f0| 20 20 63 72 0d 09 61 64 | 64 72 3a 20 64 69 67 69 | cr..ad|dr: digi|
|00006300| 74 73 20 20 63 6f 75 6e | 74 20 20 74 79 70 65 20 |ts coun|t type |
|00006310| 20 63 72 0d 09 2e 22 20 | 73 74 79 6c 65 3a 20 20 | cr..." |style: |
|00006320| 20 22 09 67 65 74 3a 20 | 73 74 79 6c 65 20 20 49 | ".get: |style I|
|00006330| 46 20 20 2e 22 20 66 69 | 78 65 64 22 20 20 45 4c |F ." fi|xed" EL|
|00006340| 53 45 20 20 2e 22 20 66 | 6c 6f 61 74 22 20 20 54 |SE ." f|loat" T|
|00006350| 48 45 4e 20 20 63 72 0d | 09 2e 22 20 69 6e 64 65 |HEN cr.|.." inde|
|00006360| 78 3a 20 20 20 22 09 67 | 65 74 3a 20 69 6e 64 65 |x: ".g|et: inde|
|00006370| 78 20 20 2e 20 20 63 72 | 0d 09 2e 22 20 23 64 69 |x . cr|..." #di|
|00006380| 67 69 74 73 3a 20 22 09 | 67 65 74 3a 20 23 64 69 |gits: ".|get: #di|
|00006390| 67 69 74 73 20 20 2e 20 | 20 63 72 20 20 3b 6d 0d |gits . | cr ;m.|
|000063a0| 09 0d 3b 63 6c 61 73 73 | 0d 0d 64 65 63 09 74 68 |..;class|..dec.th|
|000063b0| 65 44 65 63 0d 0d 3a 20 | 23 44 49 47 49 54 53 09 |eDec..: |#DIGITS.|
|000063c0| 73 65 74 23 64 69 67 69 | 74 73 3a 20 74 68 65 44 |set#digi|ts: theD|
|000063d0| 65 63 20 20 3b 0d 0d 3a | 20 45 2e 52 20 20 7b 20 |ec ;..:| E.R { |
|000063e0| 66 6c 74 20 77 69 64 20 | 5c 20 73 76 4f 75 74 20 |flt wid |\ svOut |
|000063f0| 2d 2d 20 7d 0d 09 6f 75 | 74 20 2d 3e 20 73 76 4f |-- }..ou|t -> svO|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.